This docker compose is specific to a custom setup with ProtonVPN.
The container in question works perfectly on privileged LXC Debian container on Proxmox v8.2.4
Certaines lignes supplémentaires ne sont pas nécessaires mais plutôt des accessoires pour des services tels que :
ℹ️Le widget pour le container homepage,
ℹ️Watchtower (pour les mises à jour automatiques),
ℹ️Deunhealth ( pour le redemarrage automatique si le container est unhealthy)
services:
gluetun:
image: qmcgaw/gluetun:latest
container_name: gluetun
restart: unless-stopped
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
ports:
- 9075:9075/tcp #HTTP Control Server
- 6881:6881 # HTTP proxy
- 6881:6881/udp # Shadowsocks
- 8085:8085 # port for qbittorrent
volumes:
- ${def_path_docker_glue}/tmp:/tmp/gluetun #port forward
- ${def_path_docker_glue}:/gluetun
- ${def_path_docker_glue}/auth/config.toml:/gluetun/auth/config.toml
environment:
- TZ=$TZ # Europe/Paris
- VPN_SERVICE_PROVIDER=custom
- VPN_TYPE=wireguard
- VPN_PORT_FORWARDING=on
- VPN_PORT_FORWARDING_PROVIDER=$provider
- FIREWALL_OUTBOUND_SUBNETS=$internal_net # Internal network
- WIREGUARD_ENDPOINT_IP=$vpn_end_ip
- WIREGUARD_ENDPOINT_PORT=$wg_end_port
- WIREGUARD_PUBLIC_KEY=$public_key
- WIREGUARD_PRIVATE_KEY=$private_key
- WIREGUARD_ADDRESSES=$wireguard_add
- HTTP_CONTROL_SERVER_ADDRESS=:9075 #for homepage widget
- HTTP_CONTROL_SERVER_LOG=ON #for homepage widget
- HTTP_CONTROL_SERVER_USER=gluetunx #auth gluetun protection
- HTTP_CONTROL_SERVER_PASSWORD=oewihfqhfqoh123123 #auth gluetun protection
labels: # DEUNHEALT CONTROL AND AUTO FIX
deunhealth.restart.on.unhealthy: "true"
com.centurylinklabs.watchtower.enable: "true"
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
network_mode: "service:gluetun"
restart: on-failure:9
environment:
- TZ=$TZ
- WEBUI_PORT=$qbit_webui_port
- DEBUG=true
volumes:
- ${def_path_docker_qbit}:/config
- /mnt/exos12tb:/downloads
depends_on:
gluetun :
condition: service_healthy
labels: # DEUNHEALT CONTROL AND AUTO FIX
deunhealth.restart.on.unhealthy: "true"
com.centurylinklabs.watchtower.enable: "true"
gluetun-qbittorrent-port-manager:
image: snoringdragon/gluetun-qbittorrent-port-manager:latest
restart: always
volumes:
- ${def_path_docker_glue}/tmp:/tmp/gluetun #Set "yourfolder" to the same directory you used for Gluetun
network_mode: "service:gluetun"
environment:
PUID: 1000
PGID: 1000
TZ: $TZ
QBITTORRENT_SERVER: ${qbit_ip} # IP Address of qbittorrent
QBITTORRENT_PORT: ${qbit_webui_port}
QBITTORRENT_USER: ${qbit_user} # username
QBITTORRENT_PASS: ${qbit_pass!} # password
PORT_FORWARDED: /tmp/gluetun/forwarded_port
HTTP_S: http # Select 'http' or 'https' depending on if you use certificates.
labels: # DEUNHEALT CONTROL AND AUTO FIX
deunhealth.restart.on.unhealthy: "true"
com.centurylinklabs.watchtower.enable: "true"
For LXC container you maybe will need to watch the official github common error page