Media Server
Media and photo management services.
| Service | Host | Purpose |
|---|---|---|
| Plex | kontti | Video streaming and media library |
| Kometa | kontti | Plex metadata and collection management |
| Immich | kontti | Photo and video backup and browsing |
| Music Assistant | Home Assistant | Smart home music integration |
Plex, Kometa, and Immich run as Podman containers on kontti, managed by system-level Quadlets and provisioned with Ansible. Music Assistant runs as a Home Assistant add-on.
Plex
Plex serves as the central media library and streaming server. It runs using the LinuxServer.io image with host networking and hardware-accelerated transcoding via the AMD GPU (VA-API).
[Container]
ContainerName=plex
Image=lscr.io/linuxserver/plex:latest
AutoUpdate=registry
Network=host
Volume=/appdata/plex:/config:Z
Volume=/var/mnt/nfs-data:/data:Z
# AMD GPU hardware transcoding (VA-API)
AddDevice=/dev/dri:/dev/dri
Media files are stored on NFS and shared with other services through the same mount point. Plex library metadata is also synced to a vector database for semantic search — see AI → Qdrant.
Kometa
Kometa runs nightly and manages Plex collections, posters, and metadata overlays. Collections are defined in YAML and templated with Ansible so they stay in version control.
Immich
Immich handles photo and video backup from phones and cameras. It runs as a Podman pod with four containers:
| Container | Role |
|---|---|
immich-server | API and web UI |
immich-machine-learning | Face recognition and CLIP search |
immich-postgres | Database |
immich-redis | Cache and job queue |
The machine learning container uses the OpenVINO runtime for GPU-accelerated inference on the AMD GPU, which noticeably speeds up face clustering and the CLIP-based smart search on large photo libraries.
[Container]
Image=ghcr.io/immich-app/immich-server:v2
Pod=immich.pod
Volume=/var/mnt/nfs-data/media/photos:/data:Z
AddDevice=/dev/dri
ShmSize=2G
Photos are stored on NFS alongside other media. The ShmSize=2G setting is needed for video processing — the default shared memory is too small for transcoding larger files.
Music Assistant
Music Assistant runs as a Home Assistant add-on and acts as a music server for Sonos speakers and other players throughout the home. It handles library management, playback queues, and streaming from various music sources.