148 lines
6.4 KiB
YAML
148 lines
6.4 KiB
YAML
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
|