Jellyfin
Media server that streams your own movies, shows, music and photos to apps and browsers.
- Replaces
-
Paid media streaming services, such as Plex and Netflix.
- Difficulty
-
Difficulty: Easy
1 service, 5 volume mounts, no env values to set, no elevated host access. Heuristic score 2 of 11: easy.
- Stack
C# (language)
- Deployment
docker_compose
- Requirements
Not stated.
- License
-
GPL-2.0(OSI-approved open source) - Business model
-
Unknown
The README at the pinned commit does not state a business model, so it stays unknown.
Source: github.com/jellyfin/jellyfin/blob/c7ce6a1/README.md, read on .
- Repository
GitHub stats
- Stars
- 58,371
- Forks
- 5,697
- Open issues and pull requests
- 805
- Last push
- 2026-10-22
- Latest release
- v12.2
- Released
- 2026-10-05
From the GitHub API on . These numbers are a snapshot, not live. GitHub detected the license as GPL-2.0.
Compose file
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
# Optional - specify the uid and gid you would like Jellyfin to use instead of root
user: uid:gid
ports:
- 8096:8096/tcp
- 7359:7359/udp
volumes:
- /path/to/config:/config
- /path/to/cache:/cache
- type: bind
source: /path/to/media
target: /media
- type: bind
source: /path/to/media2
target: /media2
read_only: true
# Optional - extra fonts to be used during transcoding with subtitle burn-in
- type: bind
source: /path/to/fonts
target: /usr/local/share/fonts/custom
read_only: true
restart: 'unless-stopped'
# Optional - alternative address used for autodiscovery
environment:
- JELLYFIN_PublishedServerUrl=http://example.com
# Optional - may be necessary for docker healthcheck to pass if running in host network mode
extra_hosts:
- 'host.docker.internal:host-gateway'
From a separate packaging repository: github.com/jellyfin/jellyfin.org/blob/438fb0c/docs/general/installation/_container-docker-compose.md.
Compose example from the project's own docs: jellyfin/jellyfin.org:docs/general/installation/_container-docker-compose.md.
Install
- Docker with the Compose plugin (github.com/jellyfin/jellyfin.org/blob/438fb0c/docs/general/installation/_container-docker-compose.md#L5-L37)
A host with Docker and the Docker Compose plugin. This entry runs from a compose file.
- Save the code block as docker-compose.yml (github.com/jellyfin/jellyfin.org/blob/438fb0c/docs/general/installation/_container-docker-compose.md)
Use the compose file shown above.
- What the compose file check ran with (github.com/jellyfin/jellyfin.org/blob/438fb0c/docs/general/installation/_container-docker-compose.md#L5-L37)
This compose file is copied unchanged from the code block in https://github.com/jellyfin/jellyfin.org/blob/438fb0cdc7144dcb44ebb04385a2761d81be2c5d/docs/general/installation/_container-docker-compose.md#L5-L37. The check ran on that block alone. The container installation guide of the project shows this file and tells the reader to run docker compose up in the same folder.
- Start it (github.com/jellyfin/jellyfin.org/blob/438fb0c/docs/general/installation/_container-docker-compose.md)
docker compose up -d - Open the app (github.com/jellyfin/jellyfin.org/blob/438fb0c/docs/general/installation/_container-docker-compose.md)
Open http://localhost:8096. The compose file publishes host port 8096 for the jellyfin service.
Compose file check: config_ok on 2026-10-22.
Gotchas and maintenance
Gotchas
- Some images use the latest tag or no tag. Images without a pinned version: jellyfin: jellyfin/jellyfin (no tag). A later pull can get a different version. (github.com/jellyfin/jellyfin.org/blob/438fb0c/docs/general/installation/_container-docker-compose.md, checked 2026-10-22)
- The compose file has placeholder values. Placeholder values: user is "uid:gid" (jellyfin). (github.com/jellyfin/jellyfin.org/blob/438fb0c/docs/general/installation/_container-docker-compose.md, checked 2026-10-22)
- The compose file publishes host ports. Host ports: 8096 (jellyfin), 7359/udp (jellyfin). A port without a host address listens on all host network interfaces. (github.com/jellyfin/jellyfin.org/blob/438fb0c/docs/general/installation/_container-docker-compose.md, checked 2026-10-22)
- The compose file mounts host folders. Host paths mounted into containers: /path/to/config at /config (jellyfin), /path/to/cache at /cache (jellyfin), /path/to/media at /media (jellyfin), /path/to/media2 at /media2 (jellyfin), /path/to/fonts at /usr/local/share/fonts/custom (jellyfin). (github.com/jellyfin/jellyfin.org/blob/438fb0c/docs/general/installation/_container-docker-compose.md, checked 2026-10-22)
Signals
- Open issues and pull requests: 805
- Last push: 2026-10-22 (0 days before this page was built)
- Latest release: v12.2 on 2026-10-05 (17 days before this page was built)