version: "3.9"
services:
vpn:
image: lscr.io/linuxserver/wireguard
container_name: vpn
cap_add:
- NET_ADMIN
- SYS_MODULE
networks:
default:
ipv4_address: 172.18.200.2
environment:
- PUID=1000
- PGID=100
- TZ=Europe/Paris
volumes:
- /share/CACHEDEV1_DATA/Docker/wireguard/config:/config
- /lib/modules:/lib/modules
ports:
- 7878:7878 # WebUI radarr
- 8989:8989 # WebUI sonarr
- 9696:9696 # WebUI prowlarr
- 9090:9090 # WebUI qbittorrent
- 6881:6881 # tcp qbittorrent
- 6881:6881/udp # udp qbittorrent
- 7070:7070 # WebUI qbtemp
- 6882:6882 # tcp qbtemp
- 6882:6882/udp # udp qbtemp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
mem_limit: 128m
healthcheck:
test: ["CMD-SHELL", "if [ $$(curl --silent https://ifconfig.co/country-iso) = 'FR' ]; then exit 0; else exit 1; fi"]
start_period: 10s
interval: 60s
timeout: 10s
retries: 3
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
network_mode: "service:vpn"
depends_on:
- vpn
labels:
- com.centurylinklabs.watchtower.enable=true
- deunhealth.restart.on.unhealthy=true
environment:
- PUID=1000
- PGID=100
- TZ=Europe/Paris
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:prowlarr
- TP_THEME=organizr
volumes:
- /share/CACHEDEV1_DATA/Docker/prowlarr/config:/config
mem_limit: 256m
restart: unless-stopped
healthcheck:
test: "CMD-SHELL", "curl --fail [http://172.18.200.2:9696/ || exit 1"]
start_period: 15s
interval: 90s
timeout: 10s
retries: 3
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
depends_on:
- vpn
network_mode: "service:vpn"
labels:
- com.centurylinklabs.watchtower.enable=true
- deunhealth.restart.on.unhealthy=true
environment:
- PUID=1000
- PGID=100
- TZ=Europe/Paris
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:sonarr
- TP_THEME=organizr
volumes:
- /share/CACHEDEV1_DATA/Docker/sonarr/config:/config
- /share/CACHEDEV3_DATA/Medias-3/Seed-2:/data/seed
- /share/CACHEDEV1_DATA/Medias/Series:/data/series
- /share/CACHEDEV1_DATA/Medias/Animes:/data/animes
- /share/CACHEDEV1_DATA/Medias/DDL:/data/ddl
- /share/CACHEDEV4_DATA/MD2/Series:/data/series-3
- /share/CACHEDEV4_DATA/MD2/Animes:/data/animes-3
mem_limit: 2048m
restart: unless-stopped
healthcheck:
test: "CMD-SHELL", "curl --fail [http://172.18.200.2:8989/ || exit 1"]
start_period: 15s
interval: 90s
timeout: 10s
retries: 3
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
depends_on:
- vpn
network_mode: "service:vpn"
labels:
- com.centurylinklabs.watchtower.enable=true
- deunhealth.restart.on.unhealthy=true
environment:
- PUID=1000
- PGID=100
- TZ=Europe/Paris
- DOCKER_MODS=ghcr.io/themepark-dev/theme.park:radarr
- TP_THEME=organizr
volumes:
- /share/CACHEDEV1_DATA/Docker/radarr/config:/config
- /share/CACHEDEV1_DATA/Medias/DDL:/data/ddl
- /share/CACHEDEV3_DATA/Medias-3/Seed-2:/data/seed
- /share/CACHEDEV4_DATA/MD2/Films:/data/films-2
mem_limit: 2048m
restart: unless-stopped
healthcheck:
test: "CMD-SHELL", "curl --fail [http://172.18.200.2:7878/ || exit 1"]
start_period: 15s
interval: 90s
timeout: 10s
retries: 3
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
depends_on:
- vpn
network_mode: "service:vpn"
labels:
- com.centurylinklabs.watchtower.enable=true
- deunhealth.restart.on.unhealthy=true
environment:
- PUID=1000
- PGID=100
- TZ=Europe/Paris
- WEBUI_PORT=9090
volumes:
- /share/CACHEDEV1_DATA/Docker/qbittorrent/config:/config
- /share/CACHEDEV1_DATA/Medias/Seed:/data/seed
mem_limit: 2048m
restart: unless-stopped
healthcheck:
test: "CMD-SHELL", "curl --fail [http://172.18.200.2:9090/ || exit 1"]
start_period: 15s
interval: 90s
timeout: 10s
retries: 3
qbittorrent_temp:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbtemp
depends_on:
- vpn
network_mode: "service:vpn"
labels:
- com.centurylinklabs.watchtower.enable=true
- deunhealth.restart.on.unhealthy=true
environment:
- PUID=1000
- PGID=100
- TZ=Europe/Paris
- WEBUI_PORT=7070
volumes:
- /share/CACHEDEV1_DATA/Docker/qbtemp/config:/config
- /share/CACHEDEV3_DATA/Medias-3/Seed-2:/data/seed
mem_limit: 2048m
restart: unless-stopped
healthcheck:
test: "CMD-SHELL", "curl --fail [http://172.18.200.2:7070/ || exit 1"]
start_period: 15s
interval: 90s
timeout: 10s
retries: 3
networks:
default:
name: downloads_net
driver: bridge
ipam:
config:
- subnet: 172.18.200.0/24