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