Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- version: "3.7"
- x-common-settings:
- x-environment: &environment
- PUID: ${PUID}
- PGID: ${PGID}
- TZ: ${TZ}
- x-healthcheck: &healthcheck
- interval: 30s
- timeout: 5s
- retries: 1
- x-labels: &labels
- traefik.enable: false
- diun.enable: true
- x-volumes:
- x-localtime: &localtime
- type: bind
- source: /etc/localtime
- target: /etc/localtime
- read_only: true
- services:
- gluetun:
- image: qmcgaw/gluetun
- container_name: gluetun
- restart: unless-stopped
- cap_add:
- - NET_ADMIN
- devices:
- - /dev/net/tun:/dev/net/tun
- networks:
- - web
- #ports:
- # - 8888:8888/tcp # HTTP proxy
- # - 8388:8388/tcp # Shadowsocks
- # - 8388:8388/udp # Shadowsocks
- volumes:
- - *localtime
- - type: bind
- source: /path/to/project/gluetun
- target: /gluetun
- environment:
- <<: *environment
- # See https://github.com/qdm12/gluetun/wiki for all the options
- VPNSP: ...
- labels:
- - diun.enable=true
- - traefik.enable=true
- - traefik.docker.network=web
- - traefik.http.routers.prowlarr.rule=Host(`prowlarr.lan`)
- - traefik.http.routers.prowlarr.service=prowlarr
- - traefik.http.services.prowlarr.loadbalancer.server.port=9696
- - traefik.http.routers.sonarr.rule=Host(`sonarr.lan`)
- - traefik.http.routers.sonarr.service=sonarr
- - traefik.http.services.sonarr.loadbalancer.server.port=8989
- - traefik.http.routers.radarr.rule=Host(`radarr.lan`)
- - traefik.http.routers.radarr.service=radarr
- - traefik.http.services.radarr.loadbalancer.server.port=7878
- - traefik.http.routers.bazarr.rule=Host(`bazarr.lan`)
- - traefik.http.routers.bazarr.service=bazarr
- - traefik.http.services.bazarr.loadbalancer.server.port=6767
- - traefik.http.routers.transmission.rule=Host(`transmission.lan`)
- - traefik.http.routers.transmission.service=transmission
- - traefik.http.services.transmission.loadbalancer.server.port=9091
- - traefik.http.routers.nzbget.rule=Host(`nzbget.lan`)
- - traefik.http.routers.nzbget.service=nzbget
- - traefik.http.services.nzbget.loadbalancer.server.port=6789
- prowlarr:
- image: ghcr.io/linuxserver/prowlarr:develop
- container_name: prowlarr
- restart: unless-stopped
- network_mode: "service:gluetun"
- depends_on:
- gluetun:
- condition: service_healthy
- transmission:
- condition: service_healthy
- nzbget:
- condition: service_healthy
- spotweb:
- condition: service_healthy
- volumes:
- - *localtime
- - type: bind
- source: /path/to/project/prowlarr
- target: /config
- environment:
- <<: *environment
- healthcheck:
- <<: *healthcheck
- test: ["CMD", "curl", "-s", "-o", "/dev/null", "${HEALTHCHECK_PROWLARR}"]
- labels:
- <<: *labels
- sonarr:
- image: lscr.io/linuxserver/sonarr
- container_name: sonarr
- restart: unless-stopped
- network_mode: "service:gluetun"
- depends_on:
- gluetun:
- condition: service_healthy
- prowlarr:
- condition: service_healthy
- volumes:
- - *localtime
- - type: bind
- source: /path/to/project/sonarr
- target: /config
- - type: bind
- source: /path/to/storage/tv
- target: /tv
- - type: bind
- source: /path/to/downloads/transmission/complete
- target: /downloads/complete
- environment:
- <<: *environment
- healthcheck:
- <<: *healthcheck
- test: ["CMD", "curl", "-s", "-o", "/dev/null", "${HEALTHCHECK_SONARR}"]
- labels:
- <<: *labels
- radarr:
- image: lscr.io/linuxserver/radarr
- container_name: radarr
- restart: unless-stopped
- network_mode: "service:gluetun"
- mem_limit: 2048m
- depends_on:
- gluetun:
- condition: service_healthy
- prowlarr:
- condition: service_healthy
- volumes:
- - *localtime
- - type: bind
- source: /path/to/project/radarr
- target: /config
- - type: bind
- source: /path/to/storage/movies
- target: /movies
- - type: bind
- source: /path/to/downloads/transmission/complete
- target: /downloads
- environment:
- <<: *environment
- healthcheck:
- <<: *healthcheck
- test: ["CMD", "curl", "-s", "-o", "/dev/null", "${HEALTHCHECK_RADARR}"]
- labels:
- <<: *labels
- bazarr:
- image: lscr.io/linuxserver/bazarr
- container_name: bazarr
- restart: unless-stopped
- network_mode: "service:gluetun"
- depends_on:
- gluetun:
- condition: service_healthy
- sonarr:
- condition: service_healthy
- radarr:
- condition: service_healthy
- volumes:
- - *localtime
- - type: bind
- source: /path/to/project/bazarr
- target: /config
- - type: bind
- source: /path/to/storage/tv
- target: /tv
- - type: bind
- source: /path/to/storage/movies
- target: /movies
- environment:
- <<: *environment
- healthcheck:
- <<: *healthcheck
- test: ["CMD", "curl", "-s", "-o", "/dev/null", "${HEALTHCHECK_BAZARR}"]
- labels:
- <<: *labels
- transmission:
- image: lscr.io/linuxserver/transmission
- container_name: transmission
- restart: unless-stopped
- network_mode: "service:gluetun"
- # ports:
- # - 9091:9091
- # - 51413:51413
- # - 51413:51413/udp
- depends_on:
- gluetun:
- condition: service_healthy
- volumes:
- - *localtime
- - type: bind
- source: /path/to/project/transmission
- target: /config
- - type: bind
- source: /path/to/downloads/transmission
- target: /downloads
- - type: bind
- source: /path/to/downloads/transmission/watch
- target: /watch
- environment:
- <<: *environment
- DOCKER_MODS: linuxserver/mods:transmission-transmissionic
- healthcheck:
- <<: *healthcheck
- test: ["CMD", "curl", "-s", "-o", "/dev/null", "${HEALTHCHECK_TRANSMISSION}"]
- labels:
- <<: *labels
- nzbget:
- image: lscr.io/linuxserver/nzbget
- container_name: nzbget
- restart: unless-stopped
- network_mode: "service:gluetun"
- depends_on:
- gluetun:
- condition: service_healthy
- volumes:
- - *localtime
- - type: bind
- source: /path/to/project/nzbget
- target: /config
- - type: bind
- source: /path/to/downloads
- target: /downloads
- environment:
- <<: *environment
- healthcheck:
- <<: *healthcheck
- test: ["CMD", "curl", "-s", "-o", "/dev/null", "${HEALTHCHECK_NZBGET}"]
- labels:
- <<: *labels
- networks:
- web:
- external: true
- #
- # You need a .env file like this:
- #
- # PUID=1000
- # PGID=1000
- # TZ=Europe/London
- # HEALTHCHECK_PROWLARR=https://url.to.ping
- # HEALTHCHECK_SONARR=https://url.to.ping
- # HEALTHCHECK_RADARR=https://url.to.ping
- # HEALTHCHECK_BAZARR=https://url.to.ping
- # HEALTHCHECK_TRANSMISSION=https://url.to.ping
- # HEALTHCHECK_NZBGET=https://url.to.ping
- #
- #
- # The "web" network is an external created network, used by Traefik
- #
- # The "diun" labels are for Diun (https://github.com/crazy-max/diun) to check for updates.
- #
- # healthchecks.io is used for healthchecks.
- #
Advertisement
Add Comment
Please, Sign In to add comment