Files
homelab/streaming/compose.yaml
T
forust aad73bf9e8
renovate-ci / validate-renovate (push) Skipped
ci / lint-compose (push) Successful in 10s
ci / lint-actionlint (push) Successful in 5s
ci / lint-shellcheck (push) Successful in 7s
ci / lint-prettier (push) Successful in 15s
ci / lint-ruff (push) Successful in 7s
ci / lint-yaml (push) Successful in 11s
ci / lint-dockerfiles (push) Successful in 6s
ci / validate (push) Successful in 7s
ci / build (push) Skipped
feat(streaming): persist lampac passwd/init.conf via seed volume
2026-10-04 19:18:40 +02:00

163 lines
3.6 KiB
YAML

services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- TZ=${TZ:-Europe/Berlin}
volumes:
- jellyfin-cfg:/config
- movies:/media/movies
- tv:/media/tv
devices:
- /dev/dri:/dev/dri
ports:
- "18096:8096"
networks:
- streaming
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
restart: unless-stopped
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- TZ=${TZ:-Europe/Berlin}
- WEBUI_PORT=8080
volumes:
- qbittorrent-cfg:/config
- downloads:/downloads
ports:
- "18180:8080"
- "6881:6881"
- "6881:6881/udp"
networks:
- streaming
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
restart: unless-stopped
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- TZ=${TZ:-Europe/Berlin}
volumes:
- sonarr-cfg:/config
- downloads:/downloads
- tv:/tv
ports:
- "18989:8989"
networks:
- streaming
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
restart: unless-stopped
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- TZ=${TZ:-Europe/Berlin}
volumes:
- radarr-cfg:/config
- downloads:/downloads
- movies:/movies
ports:
- "17878:7878"
networks:
- streaming
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
restart: unless-stopped
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- TZ=${TZ:-Europe/Berlin}
volumes:
- prowlarr-cfg:/config
ports:
- "19696:9696"
networks:
- streaming
jellyseerr:
image: ghcr.io/seerr-team/seerr:latest
container_name: jellyseerr
init: true
restart: unless-stopped
environment:
- TZ=${TZ:-Europe/Berlin}
volumes:
- jellyseerr-cfg:/app/config
ports:
- "15055:5055"
networks:
- streaming
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
restart: unless-stopped
environment:
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- TZ=${TZ:-Europe/Berlin}
volumes:
- bazarr-cfg:/config
- movies:/movies
- tv:/tv
ports:
- "16767:6767"
networks:
- streaming
lampac:
image: ghcr.io/lampac-nextgen/lampac:latest
container_name: lampac
restart: unless-stopped
shm_size: 1024mb
# Restore persisted passwd/init.conf from seed volume before start,
# so config survives container recreation (upstream entrypoint is
# ENTRYPOINT ["dotnet", "Core.dll"], WORKDIR /lampac, USER lampac).
entrypoint:
[
"/bin/sh",
"-c",
"if [ -f /seed/passwd ] && [ ! -f /lampac/passwd ]; then cp /seed/passwd /lampac/passwd; fi; if [ -f /seed/init.conf ] && [ ! -f /lampac/init.conf ]; then cp /seed/init.conf /lampac/init.conf; fi; exec /usr/share/dotnet/dotnet Core.dll",
]
environment:
- TZ=${TZ:-Europe/Berlin}
volumes:
- lampac-seed:/seed
- lampac-cache:/lampac/cache
- lampac-db:/lampac/database
ports:
- "19118:9118"
networks:
- streaming
volumes:
jellyfin-cfg:
qbittorrent-cfg:
sonarr-cfg:
radarr-cfg:
prowlarr-cfg:
jellyseerr-cfg:
bazarr-cfg:
lampac-seed:
lampac-cache:
lampac-db:
downloads:
movies:
tv:
networks:
streaming:
name: streaming