homelab/compose/media/frontend/jellyfin/compose.yaml
Eduardo Figueroa 75bdad695f feat(media): Configure Authelia OIDC for Immich and update Jellyfin
- Add Authelia OIDC configuration to Immich (.env)
- Remove Tinyauth middleware comment from Immich compose
- Update Jellyfin SSO comment to reference Authelia instead of Tinyauth
- Enable NVIDIA GPU transcoding for Jellyfin
2025-12-12 23:17:04 +00:00

57 lines
1.8 KiB
YAML

# Jellyfin Media Server
# Docs: https://jellyfin.org/docs/general/installation/container/?method=docker-compose
# Transcoding: https://jellyfin.org/docs/general/post-install/transcoding/hardware-acceleration/nvidia
services:
jellyfin:
container_name: jellyfin
image: lscr.io/linuxserver/jellyfin:latest
env_file:
- .env
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,video,utility
volumes:
- ./config:/config
- ./cache:/cache
# Media folders (read-only)
- /mnt/media/movies:/media/movies:ro
- /mnt/media/tv:/media/tv:ro
- /mnt/media/music:/media/music:ro
- /mnt/media/photos:/media/photos:ro
- /mnt/media/homemovies:/media/homemovies:ro
ports:
- "8096:8096"
- "7359:7359/udp" # Optional - for autodiscovery
restart: unless-stopped
networks:
- homelab
labels:
traefik.enable: true
traefik.docker.network: homelab
traefik.http.routers.jellyfin.rule: Host(`flix.fig.systems`)
traefik.http.routers.jellyfin.entrypoints: websecure
traefik.http.routers.jellyfin.tls.certresolver: letsencrypt
traefik.http.services.jellyfin.loadbalancer.server.port: 8096
# Homarr Discovery
homarr.name: Jellyfin (Media Server)
homarr.group: Media
homarr.icon: simple-icons:jellyfin
# Note: Jellyfin has its own auth system, SSO middleware disabled by default
# Uncomment the line below to enable SSO (requires users to auth via Authelia first)
# NVIDIA GPU transcoding (GTX 1070)
runtime: nvidia
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
networks:
homelab:
external: true