Skip to content

Bug: Latest 2 version don't allow network_mode when using wg0.conf #3374

Description

@webepg

Is this urgent?

No

Host OS

Debian Sandworm 7.7.24-7 Linux 6.12.90+deb12.1-amd64

CPU arch

x86_64

VPN service provider

Custom

What are you using to run the container

Portainer

What is the version of Gluetun

sha256:54042e59788e2d27b034d66ff3c6a3368c3a4b7ec1a666182d47f53ca86e5ef4 & sha256:54042e59788e2d27b034d66ff3c6a3368c3a4b7ec1a666182d47f53ca86e5ef4

What's the problem 🤔

When using these versions I can't use network_mode and route other containers through gluetun. The stack (docker compose) only creates the container that runs through gluetun. When manually creating the stack through portainer I get an http 500 error code.

Removing the network_mode from the stack compose allows all containers to run without any error.

Version sha256:c07e674a97d7c6d073fb2c19b2e2dcbb5f0ca977a5a32cd8593e027b6a2c5303 is running without any problems.

Share your logs (at least 10 lines)

Logfile is empty

Share your configuration

version: "3"
services:     
  vpn:
    labels:
      - "com.centurylinklabs.watchtower.enable=false"
    container_name: "vpn"
    restart: unless-stopped
    image: qmcgaw/gluetun:latest
    cap_add:
      - NET_ADMIN
    environment:
      - VPN_SERVICE_PROVIDER=custom
      - VPN_TYPE=wireguard
      - OPENVPN_CUSTOM_CONFIG=/gluetun/wireguard/wg0.conf
      - TZ=DK
  
    ports:
      - 8443:8443
      - 8080:8080
      - 5300:5300/udp

    volumes:
      - /root/vpn:/gluetun/wireguard
      - /root/config.toml:/gluetun/auth/config.toml
      - /root/vpn/startup.sh:/gluetun/startup.sh

      
    devices:
      - /dev/net/tun:/dev/net/tun

    ## reconnect
    healthcheck:
      # If network is unreachable, exit 1 to indicate unhealthy container
      test: wget -O- https://ipinfo.io || exit 1
      # Tune these as needed
      interval: 20s
      timeout: 5s
      retries: 2
    
    # Run the shell script as the entrypoint
    entrypoint: '/bin/sh'
    command: '/gluetun/startup.sh'

  snidust:
    image: ghcr.io/seji64/snidust:latest
    container_name: snidust
    environment:
      - TZ=DK
      - ALLOWED_CLIENTS=127.0.0.1, 192.168.2.4
      #- 'EXTERNAL_IP=10.111.123.8'
      - SPOOF_ALL_DOMAINS=false # Set to true (case sensitive!) if you want to spoof ALL domains.
        # - 'DNYDNS_CRON_SCHEDULE=*/1 * * * *' # Example for specifing a custom cron interval for dynDNS Update. Default is '*/15 * * * *'
    network_mode: "service:vpn"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions