nixos-servers/docker_swarm/roles/media/docker-stack.yml.j2

190 lines
5.3 KiB
Django/Jinja

# vi: ft=yaml
version: '3.5'
networks:
traefik:
external: true
volumes:
media:
driver_opts:
type: "nfs"
o: "addr=lewis.dmz,nolock,soft,rw"
device: ":/mnt/data/nfs/media"
jellyfin_config:
driver_opts:
type: "nfs"
o: "addr=lewis.dmz,nolock,soft,rw"
device: ":/mnt/data/nfs/jellyfin/config"
transmission_config:
driver_opts:
type: "nfs"
o: "addr=lewis.dmz,nolock,soft,rw"
device: ":/mnt/data/nfs/transmission/config"
jellyseerr_config:
driver_opts:
type: "nfs"
o: "addr=lewis.dmz,nolock,soft,rw"
device: ":/mnt/data/nfs/jellyseerr/config"
radarr_config:
driver_opts:
type: "nfs"
o: "addr=lewis.dmz,nolock,soft,rw"
device: ":/mnt/data/nfs/radarr/config"
sonarr_config:
driver_opts:
type: "nfs"
o: "addr=lewis.dmz,nolock,soft,rw"
device: ":/mnt/data/nfs/sonarr/config"
prowlarr_config:
driver_opts:
type: "nfs"
o: "addr=lewis.dmz,nolock,soft,rw"
device: ":/mnt/data/nfs/prowlarr/config"
bazarr_config:
driver_opts:
type: "nfs"
o: "addr=lewis.dmz,nolock,soft,rw"
device: ":/mnt/data/nfs/bazarr/config"
jellyfin_cache:
services:
jellyseerr:
image: fallenbagel/jellyseerr:1.7.0
environment:
# TODO: fix log level
- LOG_LEVEL=debug
- TZ=Europe/Amsterdam
volumes:
- type: volume
source: jellyseerr_config
target: /app/config
volume:
nocopy: true
networks:
- traefik
deploy:
labels:
- traefik.enable=true
- traefik.http.routers.jellyseerr.entrypoints=localsecure
- traefik.http.routers.jellyseerr.rule=Host(`jellyseerr.kun.is`)
- traefik.http.routers.jellyseerr.tls=true
- traefik.http.routers.jellyseerr.tls.certresolver=letsencrypt
- traefik.http.routers.jellyseerr.service=jellyseerr
- traefik.http.services.jellyseerr.loadbalancer.server.port=5055
- traefik.docker.network=traefik
radarr:
image: lscr.io/linuxserver/radarr:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Amsterdam
volumes:
- type: volume
source: radarr_config
target: /config
volume:
nocopy: true
- type: volume
source: media
target: /media
volume:
nocopy: true
networks:
- traefik
deploy:
labels:
- traefik.enable=true
- traefik.http.routers.radarr.entrypoints=localsecure
- traefik.http.routers.radarr.rule=Host(`radarr.kun.is`)
- traefik.http.routers.radarr.tls=true
- traefik.http.routers.radarr.tls.certresolver=letsencrypt
- traefik.http.routers.radarr.service=radarr
- traefik.http.services.radarr.loadbalancer.server.port=7878
- traefik.docker.network=traefik
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Amsterdam
volumes:
- type: volume
source: prowlarr_config
target: /config
volume:
nocopy: true
networks:
- traefik
deploy:
labels:
- traefik.enable=true
- traefik.http.routers.prowlarr.entrypoints=localsecure
- traefik.http.routers.prowlarr.rule=Host(`prowlarr.kun.is`)
- traefik.http.routers.prowlarr.tls=true
- traefik.http.routers.prowlarr.tls.certresolver=letsencrypt
- traefik.http.routers.prowlarr.service=prowlarr
- traefik.http.services.prowlarr.loadbalancer.server.port=9696
- traefik.docker.network=traefik
sonarr:
image: lscr.io/linuxserver/sonarr:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Amsterdam
volumes:
- type: volume
source: sonarr_config
target: /config
volume:
nocopy: true
- type: volume
source: media
target: /media
volume:
nocopy: true
networks:
- traefik
deploy:
labels:
- traefik.enable=true
- traefik.http.routers.sonarr.entrypoints=localsecure
- traefik.http.routers.sonarr.rule=Host(`sonarr.kun.is`)
- traefik.http.routers.sonarr.tls=true
- traefik.http.routers.sonarr.tls.certresolver=letsencrypt
- traefik.http.routers.sonarr.service=sonarr
- traefik.http.services.sonarr.loadbalancer.server.port=8989
- traefik.docker.network=traefik
bazarr:
image: lscr.io/linuxserver/bazarr:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Amsterdam
volumes:
- type: volume
source: bazarr_config
target: /config
volume:
nocopy: true
- type: volume
source: media
target: /media
volume:
nocopy: true
networks:
- traefik
deploy:
labels:
- traefik.enable=true
- traefik.http.routers.bazarr.entrypoints=localsecure
- traefik.http.routers.bazarr.rule=Host(`bazarr.kun.is`)
- traefik.http.routers.bazarr.tls=true
- traefik.http.routers.bazarr.tls.certresolver=letsencrypt
- traefik.http.routers.bazarr.service=bazarr
- traefik.http.services.bazarr.loadbalancer.server.port=6767
- traefik.docker.network=traefik