Docker Compose

docker-compose.yml
version: '3'
services:
  jellyfin:
    container_name: "jellyfin"
    image: "jellyfin/jellyfin:latest"
    ports:
      - "8096:8096"
    volumes:
      - "${APP_DIR:?err}/jellyfin:/config:rw"
      - "${MEDIA_DIR:?err}:${MEDIA_DIR:?err}:rw"
      - "${TRANSCODE_DIR:?err}:/transcode:rw"
    labels:
      traefik.enable: true
      traefik.http.routers.jellyfin.entryPoints: https
    environment:
      TZ: ${TZ:?err}
      PGID: ${ID:?err}
      PUID: ${ID:?err}
      UMASK: ${UMASK:?err}
    networks:
      - proxy
    restart: unless-stopped
    devices:
       - /dev/dri:/dev/dri

networks:
  proxy:
    driver: bridge
    external: true
.env
TZ=Europe/London
ID=1000
UMASK=002
APP_DIR=/opt/appdata
MEDIA_DIR=/mnt
TRANSCODE_DIR=/dev/shm

Alternative (Default) Compose

version: "3.5"
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    user: uid:gid
    network_mode: "host"
    volumes:
      - /path/to/config:/config
      - /path/to/cache:/cache
      - /path/to/media:/media
      - /path/to/media2:/media2:ro
    restart: "unless-stopped"
    # Optional - alternative address used for autodiscovery
    environment:
      - JELLYFIN_PublishedServerUrl=http://example.com

Last updated