version: "2.3"
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    environment:
      - TZ=Europe/Helsinki
      - NVIDIA_DRIVER_CAPABILITIES=all
      - NVIDIA_VISIBLE_DEVICES=all
    ports:
      - "8096:8096"
    networks:
      - proxy
    restart: unless-stopped
    volumes:
      - /docker/jellyfin/config:/config
      - /docker/jellyfin/cache:/cache
      - /mnt/Storage/Media:/media
      - /etc/localtime:/etc/localtime:ro
    devices:
      - /dev/dri:/dev/dri
    labels:
      - "traefik.enable=true"

      - "traefik.http.routers.jellyfin-redirect.entrypoints=http"
      - "traefik.http.routers.jellyfin-redirect.rule=Host(`jellyfin.korhonen.cc`)"
      - "traefik.http.middlewares.http2https.redirectscheme.scheme=https"
      - "traefik.http.routers.jellyfin-redirect.middlewares=http2https"

      - "traefik.http.routers.jellyfin.entrypoints=https"
      - "traefik.http.routers.jellyfin.rule=Host(`jellyfin.korhonen.cc`)"
      - "traefik.http.routers.jellyfin.tls=true"
      - "traefik.http.routers.jellyfin.tls.certresolver=http"
      - "traefik.http.routers.jellyfin.service=jellyfin"
      - "traefik.docker.network=proxy"
      - "traefik.http.services.jellyfin.loadbalancer.server.port=8096"

networks:
  proxy:
    external: true
