Modification du HealthCheck afin de pouvoir couper les autres conteneurs si la connexion au VPN échoue... #100

Closed
Ghost wants to merge 1 commits from Miles-StackVPN_EVO into master
2 changed files with 222 additions and 10 deletions

View File

@ -0,0 +1,182 @@
## Discord Plex FR : https://discord.gg/ERpYMqS
## Version 2021-08-17
##
## Pour une aide à l'installation, consulter le README
##
version: '3.2'
services:
vpn:
image: dperson/openvpn-client:latest
container_name: vpn
restart: unless-stopped
cap_add:
- NET_ADMIN
sysctls:
- net.ipv6.conf.all.disable_ipv6=0
security_opt:
- label:disable
# labels:
# - com.centurylinklabs.watchtower.enable=true
# - autoheal=true
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
networks:
- vpn-network
dns:
- 84.200.69.80
- 8.8.8.8
- 9.9.9.9
ports :
- 8586:8586 # WebUI qbittorrent
- 9117:9117 # WebUI jackett
- 7878:7878 # WebUI radarr
- 8989:8989 # WebUI sonarr
- 8191:8191 # Flaresolver
- 8080:8080 # WebUI rutorrent crazymax
- 9696:9696 # WebUI prowlarr
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- ${RACINE}/vpn/config:/vpn
- ${RACINE}/vpn/scripts:/scripts
command: '-f "" -r 192.168.0.0/24'
healthcheck:
test: ["CMD", "curl", "-Ss", "ifconfig.me"]
interval: 60s
timeout: 15s
rtorrent-rutorrent:
image: crazymax/rtorrent-rutorrent:latest
container_name: rutorrent
# labels:
# - com.centurylinklabs.watchtower.enable=true
# - autoheal=true
depends_on:
- vpn
env_file:
- "./rtorrent-rutorrent.env"
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
network_mode: "service:vpn"
volumes:
- ${RACINE}/rutorrent/data:/data
- ${RACINE}/rutorrent/passwd:/passwd
- ${RACINE}/rutorrent/downloads:/downloads
ulimits:
nproc: 65535
nofile:
soft: 32000
hard: 40000
restart: unless-stopped
prowlarr:
image: ghcr.io/linuxserver/prowlarr:develop
container_name: prowlarr
network_mode: "service:vpn"
depends_on:
- vpn
# labels:
# - com.centurylinklabs.watchtower.enable=true
# - autoheal=true
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- ${RACINE}/prowlarr/config:/config
restart: unless-stopped
sonarr:
image: ghcr.io/linuxserver/sonarr:latest
container_name: sonarr
depends_on:
- vpn
network_mode: "service:vpn"
# labels:
# - autoheal=true
# - com.centurylinklabs.watchtower.enable=true
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- ${RACINE}/sonarr/config:/config
- ${RACINE}/rutorrent/downloads:/downloads
restart: unless-stopped
radarr:
image: ghcr.io/linuxserver/radarr:nightly
container_name: radarr
depends_on:
- vpn
network_mode: "service:vpn"
# labels:
# - autoheal=true
# - com.centurylinklabs.watchtower.enable=true
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- ${RACINE}/radarr/config:/config
- ${RACINE}/rutorrent/downloads:/downloads
restart: unless-stopped
jackett:
image: ghcr.io/linuxserver/jackett
container_name: jackett
depends_on:
- vpn
network_mode: "service:vpn"
# labels:
# - autoheal=true
# - com.centurylinklabs.watchtower.enable=true
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- ${RACINE}/jackett/config:/config
- ${RACINE}/jackett/downloads:/downloads
restart: unless-stopped
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr
container_name: flaresolverr
network_mode: "service:vpn"
depends_on:
- vpn
# labels:
# - com.centurylinklabs.watchtower.enable=true
environment:
- LOG_LEVEL=info
restart: unless-stopped
qbittorrent:
image: ghcr.io/linuxserver/qbittorrent
container_name: qbittorrent
# labels:
# - autoheal=true
# - com.centurylinklabs.watchtower.enable=true
depends_on:
- vpn
network_mode: "service:vpn"
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- WEBUI_PORT=8586
volumes:
- ${RACINE}/qbittorrent/config:/config
- ${RACINE}/qbittorrent/downloads:/downloads
restart: unless-stopped
networks:
vpn-network:
external:
name: vpn-network

View File

@ -44,9 +44,18 @@ services:
- ${RACINE}/vpn/scripts:/scripts
command: '-f "" -r 192.168.0.0/24'
healthcheck:
test: ["CMD", "curl", "-Ss", "ifconfig.me"]
interval: 60s
timeout: 15s
###---- Ancienne version du healthcheck
# test: ["CMD", "curl", "-Ss", "ifconfig.me"]
# interval: 60s
# timeout: 15s
###----
###++++ Nouvelle version : Remplacer 999.999.999.999 par l'ip que vous obtenez une fois connecté au VPN
test: if [[ ! `curl -Ss ipconfig.io | grep -i "999.999.999.999"` == "999.999.999.999" ]] ; then echo "VPN-NOT-CONNECTED " && exit 1; else echo "VPN-CONNECTED " && exit 0; fi
interval: 1m
timeout: 10s
retries: 5
start_period: 40s
###++++
rtorrent-rutorrent:
image: crazymax/rtorrent-rutorrent:latest
@ -55,7 +64,10 @@ services:
# - com.centurylinklabs.watchtower.enable=true
# - autoheal=true
depends_on:
- vpn
# Il ne faut pas ici de tiret, et surtout il faut les deux points après le conteneur de dépendance
# puisqu'il va y avoir une condition après.
vpn:
condition: service_healthy
env_file:
- "./rtorrent-rutorrent.env"
environment:
@ -79,7 +91,10 @@ services:
container_name: prowlarr
network_mode: "service:vpn"
depends_on:
- vpn
# Il ne faut pas ici de tiret, et surtout il faut les deux points après le conteneur de dépendance
# puisqu'il va y avoir une condition après.
vpn:
condition: service_healthy
# labels:
# - com.centurylinklabs.watchtower.enable=true
# - autoheal=true
@ -95,7 +110,10 @@ services:
image: ghcr.io/linuxserver/sonarr:latest
container_name: sonarr
depends_on:
- vpn
# Il ne faut pas ici de tiret, et surtout il faut les deux points après le conteneur de dépendance
# puisqu'il va y avoir une condition après.
vpn:
condition: service_healthy
network_mode: "service:vpn"
# labels:
# - autoheal=true
@ -113,7 +131,10 @@ services:
image: ghcr.io/linuxserver/radarr:nightly
container_name: radarr
depends_on:
- vpn
# Il ne faut pas ici de tiret, et surtout il faut les deux points après le conteneur de dépendance
# puisqu'il va y avoir une condition après.
vpn:
condition: service_healthy
network_mode: "service:vpn"
# labels:
# - autoheal=true
@ -131,7 +152,10 @@ services:
image: ghcr.io/linuxserver/jackett
container_name: jackett
depends_on:
- vpn
# Il ne faut pas ici de tiret, et surtout il faut les deux points après le conteneur de dépendance
# puisqu'il va y avoir une condition après.
vpn:
condition: service_healthy
network_mode: "service:vpn"
# labels:
# - autoheal=true
@ -150,7 +174,10 @@ services:
container_name: flaresolverr
network_mode: "service:vpn"
depends_on:
- vpn
# Il ne faut pas ici de tiret, et surtout il faut les deux points après le conteneur de dépendance
# puisqu'il va y avoir une condition après.
vpn:
condition: service_healthy
# labels:
# - com.centurylinklabs.watchtower.enable=true
environment:
@ -164,7 +191,10 @@ services:
# - autoheal=true
# - com.centurylinklabs.watchtower.enable=true
depends_on:
- vpn
# Il ne faut pas ici de tiret, et surtout il faut les deux points après le conteneur de dépendance
# puisqu'il va y avoir une condition après.
vpn:
condition: service_healthy
network_mode: "service:vpn"
environment:
- PUID=${PUID}