Jellyfin
Runs Jellyfin with persistent configuration and cache storage and exposes the web interface on port 8096. This template provides an open-source media server for streaming and organizing your own video and audio library.
yaml
docker-compose.yml
services:
jellyfin:
image: jellyfin/jellyfin:2026041305
container_name: jellyfin
ports:
- ${JELLYFIN_HTTP_PORT}:8096/tcp
- 7359:7359/udp
volumes:
- jellyfin_config:/config
- jellyfin_cache:/cache
- type: bind
source: ./media
target: /media
read_only: true
restart: unless-stopped
environment:
JELLYFIN_PublishedServerUrl: ${JELLYFIN_PUBLISHED_SERVER_URL}
volumes:
jellyfin_config:
jellyfin_cache:
.ENV
.env example
JELLYFIN_PUBLISHED_SERVER_URL=http://localhost:8096
JELLYFIN_HTTP_PORT=8096
deployment
Quick Start
- Create a working directory named after the service.
- Copy the compose file and generated `.env` into that directory.
- Review the variables and replace placeholders with real values.
- Run `docker compose up -d`.
mkdir jellyfin
cd jellyfin
# create docker-compose.yml
# create .env
docker compose up -d