Skip to content

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).

plex.container
[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.

immich-server.container (excerpt)
[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.