Media-Center
WIP
🚀 Deployed
Overview
Section titled “Overview”Installing
Section titled “Installing”version: "3.7"
services: sonarr: image: lscr.io/linuxserver/sonarr hostname: sonarr restart: unless-stopped environment: - PUID=${PUID} - PGID=${PGID} - UMASK=${UMASK} - TZ=${TZ} - DOCKER_MODS=${DOCKER_MODS} ports: - 8140:8989 volumes: - /data/docker/media-center/config/sonarr:/config - /data/docker/media-center/torrents:/data/docker/media-center/torrents - /mnt/vulcain/media:/mnt/vulcain/media networks: - homelab deploy: labels: - traefik.http.routers.sonarr.rule=Host(`sonarr.zrx.sh`) - traefik.http.services.sonarr.loadbalancer.server.port=8989 - traefik.http.routers.sonarr.middlewares=homelab-whitelist@file - traefik.http.routers.sonarr.tls=true - traefik.http.routers.sonarr.tls.certresolver=production - traefik.http.routers.sonarr.tls.domains[0].main=zrx.sh - traefik.http.routers.sonarr.tls.domains[0].sans=*.zrx.sh placement: constraints: - node.hostname == neptune
radarr: image: lscr.io/linuxserver/radarr hostname: radarr restart: unless-stopped environment: - PUID=${PUID} - PGID=${PGID} - UMASK=${UMASK} - TZ=${TZ} - DOCKER_MODS=${DOCKER_MODS} ports: - 8141:7878 volumes: - /data/docker/media-center/config/radarr:/config - /data/docker/media-center/torrents:/data/docker/media-center/torrents - /mnt/vulcain/media:/mnt/vulcain/media networks: - homelab deploy: labels: - traefik.http.routers.radarr.rule=Host(`radarr.zrx.sh`) - traefik.http.services.radarr.loadbalancer.server.port=7878 - traefik.http.routers.radarr.middlewares=homelab-whitelist@file - traefik.http.routers.radarr.tls=true - traefik.http.routers.radarr.tls.certresolver=production - traefik.http.routers.radarr.tls.domains[0].main=zrx.sh - traefik.http.routers.radarr.tls.domains[0].sans=*.zrx.sh placement: constraints: - node.hostname == neptune
bazarr: image: lscr.io/linuxserver/bazarr hostname: bazarr restart: unless-stopped environment: - PUID=${PUID} - PGID=${PGID} - UMASK=${UMASK} - TZ=${TZ} - DOCKER_MODS=${DOCKER_MODS} ports: - 8142:6767 volumes: - /data/docker/media-center/config/bazarr:/config - /mnt/vulcain/media:/mnt/vulcain/media networks: - homelab deploy: labels: - traefik.http.routers.bazarr.rule=Host(`bazarr.zrx.sh`) - traefik.http.services.bazarr.loadbalancer.server.port=6767 - traefik.http.routers.bazarr.middlewares=homelab-whitelist@file - traefik.http.routers.bazarr.tls=true - traefik.http.routers.bazarr.tls.certresolver=production - traefik.http.routers.bazarr.tls.domains[0].main=zrx.sh - traefik.http.routers.bazarr.tls.domains[0].sans=*.zrx.sh placement: constraints: - node.hostname == neptune
prowlarr: image: ghcr.io/linuxserver/prowlarr hostname: prowlarr restart: unless-stopped environment: - PUID=${PUID} - PGID=${PGID} - UMASK=${UMASK} - TZ=${TZ} - DOCKER_MODS=${DOCKER_MODS} ports: - 8143:9696 volumes: - /data/docker/media-center/config/prowlarr:/config - /data/docker/media-center/torrents:/data/docker/media-center/torrents networks: - homelab deploy: labels: - traefik.http.routers.prowlarr.rule=Host(`prowlarr.zrx.sh`) - traefik.http.services.prowlarr.loadbalancer.server.port=9696 - traefik.http.routers.prowlarr.middlewares=homelab-whitelist@file - traefik.http.routers.prowlarr.tls=true - traefik.http.routers.prowlarr.tls.certresolver=production - traefik.http.routers.prowlarr.tls.domains[0].main=zrx.sh - traefik.http.routers.prowlarr.tls.domains[0].sans=*.zrx.sh placement: constraints: - node.hostname == neptune
flaresolverr: image: ghcr.io/flaresolverr/flaresolverr hostname: flaresolverr restart: unless-stopped environment: - LOG_LEVEL=${LOG_LEVEL} - TZ=${TZ} - BROWSER_TIMEOUT=${BROWSER_TIMEOUT} - DOCKER_MODS=${DOCKER_MODS} sysctls: - "net.ipv6.conf.all.disable_ipv6=1" networks: - homelab deploy: placement: constraints: - node.hostname == neptune
jellyfin: image: lscr.io/linuxserver/jellyfin hostname: jellyfin environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} - JELLYFIN_PublishedServerUrl=${JELLYFIN_PublishedServerUrl} ports: - 8145:8096 - 7359:7359/udp volumes: - /data/docker/media-center/config/jellyfin:/config - /mnt/vulcain/media/tv:/data/tvshows - /mnt/vulcain/media/movies:/data/movies - /mnt/vulcain/media/animes:/data/animes - /data/docker/media-center/torrents/others:/data/others restart: unless-stopped networks: - homelab deploy: labels: - traefik.http.routers.jellyfin.rule=Host(`jellyfin.zrx.sh`) - traefik.http.services.jellyfin.loadbalancer.server.port=8096 - traefik.http.routers.jellyfin.tls=true - traefik.http.routers.jellyfin.tls.certresolver=production - traefik.http.routers.jellyfin.tls.domains[0].main=zrx.sh - traefik.http.routers.jellyfin.tls.domains[0].sans=*.zrx.sh placement: constraints: - node.hostname == neptune
jellyseerr: image: fallenbagel/jellyseerr:latest environment: - LOG_LEVEL=${LOG_LEVEL} - TZ=${TZ} ports: - 8146:5055 volumes: - /data/docker/media-center/config/jellyseerr:/app/config restart: unless-stopped networks: - homelab deploy: labels: - traefik.http.routers.jellyseerr.rule=Host(`jellyseerr.zrx.sh`) - traefik.http.services.jellyseerr.loadbalancer.server.port=5055 - traefik.http.routers.jellyseerr.middlewares=homelab-whitelist@file - traefik.http.routers.jellyseerr.tls=true - traefik.http.routers.jellyseerr.tls.certresolver=production - traefik.http.routers.jellyseerr.tls.domains[0].main=zrx.sh - traefik.http.routers.jellyseerr.tls.domains[0].sans=*.zrx.sh placement: constraints: - node.hostname == neptune
networks: homelab: external: true