143 lines
4.4 KiB
YAML
143 lines
4.4 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
gluetun:
|
|
image: qmcgaw/gluetun
|
|
container_name: gluetun
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
environment:
|
|
- FIREWALL_OUTBOUND_SUBNETS=172.29.0.0/16
|
|
- VPN_SERVICE_PROVIDER=protonvpn
|
|
- VPN_TYPE=wireguard
|
|
- WIREGUARD_PRIVATE_KEY=${PROTONVPN_WIREGUARD_PRIVATE_KEY}
|
|
- SERVER_COUNTRIES=Denmark
|
|
# - OPENVPN_USER=${PROTON_OPENVPN_USER}
|
|
# - OPENVPN_PASS=${PROTON_OPENVPN_PASS}
|
|
volumes:
|
|
- ${CONFIG_ROOT}/gluetun:/gluetun
|
|
ports:
|
|
- 7878:7878 # Radarr
|
|
- 8989:8989 # Sonarr
|
|
- 9696:9696 # Prowlarr
|
|
- 6789:6789 # NZBGet
|
|
restart: unless-stopped
|
|
networks:
|
|
- traefik_public
|
|
|
|
radarr:
|
|
image: lscr.io/linuxserver/radarr:latest
|
|
container_name: radarr
|
|
network_mode: service:gluetun
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Etc/UTC
|
|
volumes:
|
|
- ${CONFIG_ROOT}/radarr:/config
|
|
- ${MEDIA_PATH}:/media
|
|
restart: unless-stopped
|
|
labels:
|
|
# Traefik
|
|
traefik.enable: "true"
|
|
traefik.http.routers.radarr.rule: "Host(`radarr.${DOMAIN}`)"
|
|
traefik.http.routers.radarr.entrypoints: "https"
|
|
traefik.http.routers.radarr.service: "radarr"
|
|
traefik.http.routers.radarr.tls.certresolver: "cloudflare"
|
|
traefik.http.routers.radarr.middlewares: "voidauth@docker"
|
|
traefik.http.services.radarr.loadbalancer.server.port: "7878"
|
|
# Homepage
|
|
homepage.group: "Media"
|
|
homepage.name: "Radarr"
|
|
homepage.icon: "radarr.svg"
|
|
homepage.href: "https://radarr.${DOMAIN}"
|
|
homepage.description: "Movie Manager"
|
|
|
|
sonarr:
|
|
image: lscr.io/linuxserver/sonarr:latest
|
|
container_name: sonarr
|
|
network_mode: service:gluetun
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Etc/UTC
|
|
volumes:
|
|
- ${CONFIG_ROOT}/sonarr:/config
|
|
- ${MEDIA_PATH}:/media
|
|
restart: unless-stopped
|
|
labels:
|
|
# Traefik
|
|
traefik.enable: "true"
|
|
traefik.http.routers.sonarr.rule: "Host(`sonarr.${DOMAIN}`)"
|
|
traefik.http.routers.sonarr.entrypoints: "https"
|
|
traefik.http.routers.sonarr.service: "sonarr"
|
|
traefik.http.routers.sonarr.tls.certresolver: "cloudflare"
|
|
traefik.http.routers.sonarr.middlewares: "voidauth@docker"
|
|
traefik.http.services.sonarr.loadbalancer.server.port: "8989"
|
|
# Homepage
|
|
homepage.group: "Media"
|
|
homepage.name: "Sonarr"
|
|
homepage.icon: "sonarr.svg"
|
|
homepage.href: "https://sonarr.${DOMAIN}"
|
|
homepage.description: "TV Series Manager"
|
|
|
|
prowlarr:
|
|
image: lscr.io/linuxserver/prowlarr:latest
|
|
container_name: prowlarr
|
|
network_mode: service:gluetun
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Etc/UTC
|
|
volumes:
|
|
- ${CONFIG_ROOT}/prowlarr:/config
|
|
restart: unless-stopped
|
|
labels:
|
|
# Traefik
|
|
traefik.enable: "true"
|
|
traefik.http.routers.prowlarr.rule: "Host(`prowlarr.${DOMAIN}`)"
|
|
traefik.http.routers.prowlarr.entrypoints: "https"
|
|
traefik.http.routers.prowlarr.service: "prowlarr"
|
|
traefik.http.routers.prowlarr.middlewares: "voidauth@docker"
|
|
traefik.http.routers.prowlarr.tls.certresolver: "cloudflare"
|
|
traefik.http.services.prowlarr.loadbalancer.server.port: "9696"
|
|
# Homepage
|
|
homepage.group: "Media"
|
|
homepage.name: "Prowlarr"
|
|
homepage.icon: "prowlarr.svg"
|
|
homepage.href: "https://prowlarr.${DOMAIN}"
|
|
homepage.description: "Indexer Manager"
|
|
|
|
nzbget:
|
|
image: lscr.io/linuxserver/nzbget:latest
|
|
container_name: nzbget
|
|
network_mode: service:gluetun
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Etc/UTC
|
|
volumes:
|
|
- ${CONFIG_ROOT}/nzbget:/config
|
|
- ${MEDIA_PATH}:/media # Downloads location
|
|
restart: unless-stopped
|
|
labels:
|
|
# Traefik
|
|
traefik.enable: "true"
|
|
traefik.http.routers.nzbget.rule: "Host(`nzbget.${DOMAIN}`)"
|
|
traefik.http.routers.nzbget.entrypoints: "https"
|
|
traefik.http.routers.nzbget.service: "nzbget"
|
|
traefik.http.routers.nzbget.tls.certresolver: "cloudflare"
|
|
traefik.http.routers.nzbget.middlewares: "voidauth@docker"
|
|
traefik.http.services.nzbget.loadbalancer.server.port: "6789"
|
|
# Homepage
|
|
homepage.group: "Media"
|
|
homepage.name: "NZBGet"
|
|
homepage.icon: "nzbget.svg"
|
|
homepage.href: "https://nzbget.${DOMAIN}"
|
|
homepage.description: "Usenet Downloader"
|
|
networks:
|
|
traefik_public:
|
|
external: true
|