services: jellyfin: image: lscr.io/linuxserver/jellyfin:latest container_name: jellyfin restart: unless-stopped ports: - "8096:8096/tcp" - "7359:7359/udp" volumes: # HACK: Binding while bootstrapping, testing # - jellyfin-cfg:/config - ./config/jellyfin:/config - /mnt/mediaserver/media/movies:/media/movies - /mnt/mediaserver/media/movies:/media/movies devices: - /dev/dri:/dev/dri labels: - "traefik.enable=true" - "traefik.docker.network=proxy" - "traefik.http.services.jellyfin.loadbalancer.server.port=8096" # Prod Router - "traefik.http.routers.jellyfin.rule=Host(`media.forust.xyz`)" - "traefik.http.routers.jellyfin.entrypoints=websecure" - "traefik.http.routers.jellyfin.tls=true" # Local Router - "traefik.http.routers.jellyfin-local.rule=Host(`media.workstation.internal`) || Host(`ms.internal`)" - "traefik.http.routers.jellyfin-local.entrypoints=websecure" - "traefik.http.routers.jellyfin-local.tls=true" # Dev Router - "traefik.http.routers.jellyfin-dev.rule=Host(`media.gigaforust.internal`)" - "traefik.http.routers.jellyfin-dev.entrypoints=websecure" - "traefik.http.routers.jellyfin-dev.tls=true" networks: - proxy - streaming qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest container_name: qbittorrent restart: unless-stopped environment: - WEBUI_PORT=8080 volumes: # HACK: Binding while bootstrapping, testing # - qbittorrent-cfg:/config - ./config/qbittorrent:/config - /mnt/mediaserver/downloads:/downloads ports: - 8080:8080 - 6881:6881 - 6881:6881/udp networks: - streaming radarr: image: lscr.io/linuxserver/radarr:latest container_name: radarr restart: unless-stopped ports: - 7878:7878 volumes: # HACK: Binding while bootstrapping, testing # - radarr-cfg:/config - ./config/radarr:/config - /mnt/mediaserver/downloads:/downloads - /mnt/mediaserver/movies:/movies networks: - streaming volumes: jellyfin-cfg: qbittorrent-cfg: networks: proxy: external: true streaming: name: streaming