Files
docker-compose/media-streaming/docker-compose.yml
T
2026-05-18 22:22:43 +02:00

98 lines
3.8 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
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.view2: "Services"
# HOMEPAGE
homepage.group: Media
homepage.name: Jellyfin
homepage.icon: jellyfin.png
homepage.href: "https://${JELLYFIN_FULL_DOMAIN}"
homepage.description: Media server
# widget
homepage.widget.type: jellyfin
homepage.widget.version: 2
homepage.widget.enableBlocks: true
homepage.widget.enableMediaControl: false
homepage.widget.expandOneStreamToTwoRows: false
homepage.widget.url: http://10.0.0.1:8096
homepage.widget.key: ${JELLYFIN_API_KEY}
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
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.view2: "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
# HOMEPAGE
homepage.group: Media
homepage.name: LMS
homepage.icon: navidrome.png
homepage.href: "https://${LMS_FULL_DOMAIN}"
homepage.description: Lightweight Music Server
networks:
pangolin:
name: pangolin_net
external: true