Open redhelling21 opened 2 years ago
I am not very knowledgeable when it comes to Docker swarms but I created a swarm with one manager and one worker node and deployed one service on the manager node using your compose file with as little changes as possible and it worked perfectly fine for me:
version: '3.7'
networks:
traefik-test:
external: true
services:
qbittorrentvpn:
image: trigus42/qbittorrentvpn:latest
cap_add:
- NET_ADMIN
- SYS_MODULE
privileged: true
volumes:
- ./config:/config
- ./downloads:/downloads
environment:
- VPN_ENABLED=yes
- SET_FWMARK=yes
- VPN_TYPE=wireguard
- LAN_NETWORK=192.168.178.0/24
ports:
- 8054:8080
networks:
- traefik-test
restart: unless-stopped
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv6.conf.all.disable_ipv6=1
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
labels:
- traefik.enable=true
- traefik.docker.network=traefik-test
- traefik.constraint-label=traefik-test
- traefik.http.routers.qbittorrent-https.rule=Host(`test.mydomain`)
- traefik.http.services.qbittorrent.loadbalancer.server.port=8080
I also tried using two manager nodes an it still worked. The only thing I can think of is that your "traefik-public" network has no internet access. Maybe you could also add the service to another network like this:
version: '3.7'
volumes:
qbittorrent_vpn_config: {}
networks:
traefik-public:
external: true
services:
qbittorrentvpn:
image: trigus42/qbittorrentvpn:latest
cap_add:
- NET_ADMIN
- SYS_MODULE
privileged: true
volumes:
- qbittorrent_vpn_config:/config
- /mnt/hdd1/data/medias/downloads:/downloads
environment:
- VPN_ENABLED=yes
- SET_FWMARK=yes
- VPN_TYPE=wireguard
- LAN_NETWORK=192.168.1.0/24
ports:
- 8080:8080
networks:
- default
- traefik-public
restart: unless-stopped
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv6.conf.all.disable_ipv6=1
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
labels:
- traefik.enable=true
- traefik.docker.network=traefik-public
- traefik.constraint-label=traefik-public
- traefik.http.routers.qbittorrent-https.rule=Host(`domain`)
- traefik.http.services.qbittorrent.loadbalancer.server.port=8080
I've been trying for two days to make qbittorrentvpn work inside of a docker swarm. To be clear : it works when deployed as a simple docker compose, but doesn't when insde a swarm. I get the
[ERROR] Network is down. Exiting..
error after the initialization ends. I tried manually pinging 1.1.1.1 from inside the container, on the tunnel adapter (wg0), but it times out. Same thing with traceroute.Full logs :
Stack file :
I tried applying the
Adding 192.168.1.0/24 as route via docker eth0
operation by hand, directly in the container :ip route add "192.168.1.0/24" via "172.18.0.1" dev "eth2"
, but it fails with an errorRTNETLINK answers: Network is unreachable
.I would totally understand if this is out of scope, as this image was probably not intended to be used in Swarm.
But if you have any idea or insight, you're welcome !
Thanks