Media, checked 2026-09-07
Jellyfin: Docker configuration reference
Self-hosted media server for streaming a personal video and audio library to web, mobile and TV clients.
At a glance
Ports
Ports| Port | What listens | Source |
|---|
8096 | Default HTTP listener for the web client and streaming. Route the reverse proxy here. | source for port 8096 |
8920 | Optional HTTPS listener, only used if TLS is enabled inside Jellyfin itself rather than on the proxy. | source for port 8920 |
7359 | UDP client auto-discovery on the local network. Does not work outside the local subnet and is not proxyable. | source for port 7359 |
Environment variables
Environment variables| Variable | Required | What it does | Example | Source |
|---|
JELLYFIN_PublishedServerUrl | No | Alternative address the server advertises in its UDP auto-discovery response, used when the container's own address is wrong for clients. | http://jellyfin.example.com | source for JELLYFIN_PublishedServerUrl |
JELLYFIN_DATA_DIR | No | Overrides the base data directory. Takes effect only if the --datadir command line option is not also set. | /config/data | source for JELLYFIN_DATA_DIR |
JELLYFIN_CACHE_DIR | No | Overrides the cache directory used for transcoding and image cache. | /cache | source for JELLYFIN_CACHE_DIR |
JELLYFIN_LOG_DIR | No | Overrides where server logs are written. Defaults to a log folder under the data directory. | /config/log | source for JELLYFIN_LOG_DIR |
Volumes that must persist
Volumes| Path | What is in it | Source |
|---|
/config | Configuration, the SQLite metadata database and library images. Losing this loses the whole library index. | source for /config |
/cache | Transcoding and image cache. Safe to lose; it is rebuilt on demand and not part of a backup. | source for /cache |
Behind a reverse proxy
- Jellyfin uses websockets for several features and not every reverse proxy passes them through by default; the upgrade must be explicitly allowed. source for this reverse-proxy note
- Add the proxy's IP to Known Proxies in Jellyfin's network settings, otherwise X-Forwarded-For is discarded and every client appears to connect from the proxy. source for this reverse-proxy note
- Jellyfin sometimes puts an api_key in the request URL, so a proxy access log that records full paths can capture credentials. source for this reverse-proxy note
- Serving Jellyfin under a subpath via the Base URL setting is known to break HDHomeRun, the DLNA plugin, Sonarr and Radarr integrations. source for this reverse-proxy note
Release timeline
Releases| Version | Date | Breaking | What changed | Source |
|---|
v12.0-rc7 | 2026-08-31 | Yes | Renames the 10.11.x line to 12.x. Requires being on 10.10.7+ or 10.11.x first, and the first boot runs a multi-minute migration. | source for release v12.0-rc7 |
v12.0-rc6 | 2026-08-26 | Yes | Sixth 12.0 preview. Same versioning change and pre-upgrade requirement to be on 10.10.7+ or 10.11.x first. | source for release v12.0-rc6 |
v12.0-rc5 | 2026-08-11 | Yes | Fifth 12.0 preview under the renumbered 12.x scheme, with the same pre-upgrade version requirement. | source for release v12.0-rc5 |
v12.0-rc4 | 2026-08-02 | Yes | Fourth 12.0 preview under the renumbered 12.x scheme, with the same pre-upgrade version requirement. | source for release v12.0-rc4 |
v10.11.11 | 2026-06-06 | No | Latest stable release on the 10.11 line. Minor bugfix release; the required version to be on before the 12.0 upgrade. | source for release v10.11.11 |
If it is not coming up
Read from the upstream documentation, repository and container registry by Keita Emsden on 2026-09-07. Every row links the page it came from. Upstream changes without telling anyone, so check the source link before you rely on a value.
Other app references
All app references