Docker/Jellyfin/docker-compose.yaml

46 lines
1.5 KiB
YAML

version: '3'
services:
jellyfin:
image: jellyfin/jellyfin:latest
restart: unless-stopped
ports:
- 1900:1900
- 7359:7359
- ${JELLYFIN_PORT_HTTP}:8096
- ${JELLYFIN_PORT_HTTPS}:8920
volumes:
- ./cache:/cache
- ${JELLYFIN_DIR}:/config:r
- ${JELLYFIN_MEDIA_DIR}:/data/media:ro
env_file:
- stack.env
labels:
- traefik.enable=true
# HTTP redirection to HTTPS
- traefik.http.routers.jellyfin.entrypoints=web
- traefik.http.routers.jellyfin.rule=Host(`${JELLYFIN_URL}`)
- traefik.http.middlewares.jellyfin-https-redirect.redirectscheme.scheme=https
- traefik.http.routers.jellyfin.middlewares=jellyfin-https-redirect
# HTTPS config
- traefik.http.routers.jellyfin-secure.entrypoints=websecure
- traefik.http.routers.jellyfin-secure.rule=Host(`${JELLYFIN_URL}`)
- traefik.http.routers.jellyfin-secure.tls=true
- traefik.http.routers.jellyfin-secure.tls.certresolver=myresolver
- traefik.http.services.jellyfin-secure.loadbalancer.server.port=8096
- traefik.docker.network=proxy
- homepage.group=Media
- homepage.name=Jellyfin
- homepage.icon=jellyfin.png
- homepage.href=${JELLYFIN_URL}
- homepage.description=Movies
- homepage.widget.type=jellyfin
- homepage.widget.url=${JELLYFIN_URL}
- homepage.widget.key=${JELLYFIN_API_KEY}
- homepage.widget.enableBlocks=true
- homepage.widget.enableNowPlaying=false