sq.

Jellyfin

Jellyfin: a first setup, important settings, verification, and recovery considerations.

Published:

Working directory: ~/homelab/apps/media. Follow the common setup workflow first. This is a setup note based on the linked documentation, not a copy of my live configuration or a runtime verification of this full stack.

Start here

Begin the media category with Jellyfin and a small file you own or may legally use. Follow the official container example. Library managers, download clients, subtitles, and VPN egress are later independent additions; none is needed to prove basic playback.

Settings and data

Persist /config and /cache. Mount only a dedicated test-media directory, preferably read-only when the selected workflow permits it. Start with software decoding. GPU transcoding needs compatible host drivers and explicit device permissions, not a blanket privileged container.

Check it

Add the test library, scan it, and play a file. Check whether the client uses direct play or transcoding, then observe CPU and storage usage. Restart the container and confirm the library configuration remains. Test from the actual client device you intend to use.

When something fails

Missing media usually means the wrong container path or unreadable files. Stuttering needs a check of codec support, bitrate, client connectivity, and transcoding load. A VPN for one download client does not automatically route all media services through it. Back up configuration and irreplaceable media separately.

Official setup and reference

All notes →