services: jellyfin: image: jellyfin/jellyfin container_name: jellyfin environment: - TZ=Europe/Vienna - JELLYFIN_PublishedServerUrl=https://${JELLYFIN_FULL_DOMAIN} - NVIDIA_VISIBLE_DEVICES=GPU-6fbad217-d460-d92d-5829-f3a5f2153526 - NVIDIA_DRIVER_CAPABILITIES=all runtime: nvidia group_add: - "18" # "video" host group id devices: - /dev/nvidia0:/dev/nvidia0 - /dev/nvidiactl:/dev/nvidiactl - /dev/nvidia-modeset:/dev/nvidia-modeset - /dev/nvidia-uvm:/dev/nvidia-uvm - /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools volumes: - /mnt/user/appdata/jellyfin/config:/config - /mnt/user/appdata/jellyfin/cache:/cache - /mnt/user/jellyfin-media/tv-shows:/media - /mnt/user/jellyfin-media/movies:/media2 - /mnt/user/jellyfin-media/books:/media3 networks: - traefik_proxy ports: - 8096:8096 - 7359:7359/udp # auto-discovery # - 1900:1900/udp # SSDP/DLNA labels: net.unraid.docker.icon: "https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/jellyfin.png" net.unraid.docker.webui: "https://${JELLYFIN_FULL_DOMAIN}" folder.view3: "Services" # local proxy traefik.enable: true traefik.http.services.tv.loadbalancer.server.port: 8096 traefik.http.routers.tv.rule: "Host(`${JELLYFIN_FULL_DOMAIN}`)" traefik.http.routers.tv.entrypoints: websecure traefik.http.routers.tv.tls: true traefik.http.routers.tv.tls.certresolver: cloudflare traefik.http.routers.tv.tls.domains[0].main: "*.homecube.org" lms: image: epoupon/lms container_name: lms user: "99:100" ports: - "8026:5082" volumes: - /mnt/user/appdata/lms:/var/lms:rw - /mnt/user/nextcloud-data/tonitrus/files/music:/music:ro networks: - pangolin - traefik_proxy labels: net.unraid.docker.icon: "https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/lyrion-music-server.png" net.unraid.docker.webui: "https://${LMS_FULL_DOMAIN}" folder.view3: "Services" pangolin.public-resources.lightweight-music-server.name: "${LMS_RESOURCE_NAME}" pangolin.public-resources.lightweight-music-server.full-domain: "${LMS_FULL_DOMAIN}" pangolin.public-resources.lightweight-music-server.protocol: "http" pangolin.public-resources.lightweight-music-server.auth.sso-enabled: true pangolin.public-resources.lightweight-music-server.auth.sso-roles[0]: "Member" pangolin.public-resources.lightweight-music-server.targets[0].method: "http" pangolin.public-resources.lightweight-music-server.targets[0].healthcheck.enabled: true pangolin.public-resources.lightweight-music-server.targets[0].healthcheck.hostname: "lms" pangolin.public-resources.lightweight-music-server.targets[0].healthcheck.port: 5082 pangolin.public-resources.lightweight-music-server.targets[0].healthcheck.path: "/" pangolin.public-resources.lightweight-music-server.targets[0].healthcheck.method: "GET" pangolin.public-resources.lightweight-music-server.targets[0].healthcheck.status: 200 pangolin.public-resources.lightweight-music-server.targets[0].healthcheck.interval: 30 pangolin.public-resources.lightweight-music-server.targets[0].healthcheck.timeout: 5 pangolin.public-resources.lightweight-music-server.rules[0].action: "allow" pangolin.public-resources.lightweight-music-server.rules[0].match: "path" pangolin.public-resources.lightweight-music-server.rules[0].value: "/rest/*" # OpenSubsonicAPI # local proxy traefik.enable: true traefik.http.services.music.loadbalancer.server.port: 5082 traefik.http.routers.music.rule: "Host(`${LMS_FULL_DOMAIN}`)" traefik.http.routers.music.entrypoints: websecure traefik.http.routers.music.tls: true traefik.http.routers.music.tls.certresolver: cloudflare traefik.http.routers.music.tls.domains[0].main: "*.homecube.org" lms2: image: epoupon/lms container_name: lms2 user: "99:100" ports: - "8028:5082" volumes: - /mnt/user/appdata/lms2:/var/lms:rw - /mnt/user/volume1/music:/music:ro networks: - pangolin - traefik_proxy labels: net.unraid.docker.icon: "https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/lyrion-music-server.png" net.unraid.docker.webui: "https://${LMS_FULL_DOMAIN_2}" folder.view3: "Services" pangolin.public-resources.lightweight-music-server-2.name: "${LMS_RESOURCE_NAME_2}" pangolin.public-resources.lightweight-music-server-2.full-domain: "${LMS_FULL_DOMAIN_2}" pangolin.public-resources.lightweight-music-server-2.protocol: "http" pangolin.public-resources.lightweight-music-server-2.auth.sso-enabled: true pangolin.public-resources.lightweight-music-server-2.auth.sso-roles[0]: "Member" pangolin.public-resources.lightweight-music-server-2.targets[0].method: "http" pangolin.public-resources.lightweight-music-server-2.targets[0].healthcheck.enabled: true pangolin.public-resources.lightweight-music-server-2.targets[0].healthcheck.hostname: "lms2" pangolin.public-resources.lightweight-music-server-2.targets[0].healthcheck.port: 5082 pangolin.public-resources.lightweight-music-server-2.targets[0].healthcheck.path: "/" pangolin.public-resources.lightweight-music-server-2.targets[0].healthcheck.method: "GET" pangolin.public-resources.lightweight-music-server-2.targets[0].healthcheck.status: 200 pangolin.public-resources.lightweight-music-server-2.targets[0].healthcheck.interval: 30 pangolin.public-resources.lightweight-music-server-2.targets[0].healthcheck.timeout: 5 pangolin.public-resources.lightweight-music-server-2.rules[0].action: "allow" pangolin.public-resources.lightweight-music-server-2.rules[0].match: "path" pangolin.public-resources.lightweight-music-server-2.rules[0].value: "/rest/*" # OpenSubsonicAPI # local proxy traefik.enable: true traefik.http.services.music2.loadbalancer.server.port: 5082 traefik.http.routers.music2.rule: "Host(`${LMS_FULL_DOMAIN_2}`)" traefik.http.routers.music2.entrypoints: websecure traefik.http.routers.music2.tls: true traefik.http.routers.music2.tls.certresolver: cloudflare traefik.http.routers.music2.tls.domains[0].main: "*.homecube.org" networks: pangolin: name: pangolin_net external: true traefik_proxy: external: true