qdm12 / gluetun

VPN client in a thin Docker container for multiple VPN providers, written in Go, and using OpenVPN or Wireguard, DNS over TLS, with a few proxy servers built-in.
https://hub.docker.com/r/qmcgaw/gluetun
MIT License
7.86k stars 364 forks source link

Bug: `latest` tag in docker image points to unstable version #2387

Closed marcosvrs closed 3 months ago

marcosvrs commented 3 months ago

Is this urgent?

None

Host OS

No response

CPU arch

None

VPN service provider

NordVPN

What are you using to run the container

docker run

What is the version of Gluetun

v3.38.0

What's the problem 🤔

The latest tag in docker image points to unstable version: image image

It should point to the latest stable one, or? (v3.38.0)

Share your logs (at least 10 lines)

gluetun-1  | ========================================
gluetun-1  | ========================================
gluetun-1  | =============== gluetun ================
gluetun-1  | ========================================
gluetun-1  | =========== Made with ❤️ by ============
gluetun-1  | ======= https://github.com/qdm12 =======
gluetun-1  | ========================================
gluetun-1  | ========================================
gluetun-1  | 
gluetun-1  | Running version latest built on 2024-07-30T20:03:23.398Z (commit 7bc2972)
gluetun-1  | 
gluetun-1  | 🔧 Need help? https://github.com/qdm12/gluetun/discussions/new
gluetun-1  | 🐛 Bug? https://github.com/qdm12/gluetun/issues/new
gluetun-1  | ✨ New feature? https://github.com/qdm12/gluetun/issues/new
gluetun-1  | ☕ Discussion? https://github.com/qdm12/gluetun/discussions/new
gluetun-1  | 💻 Email? quentin.mcgaw@gmail.com
gluetun-1  | 💰 Help me? https://www.paypal.me/qmcgaw https://github.com/sponsors/qdm12

Share your configuration

version: "3"
services:
  gluetun:
    image: qmcgaw/gluetun
    # container_name: gluetun
    # line above must be uncommented to allow external containers to connect.
    # See https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md#external-container-to-gluetun
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    ports:
      - 8888:8888/tcp # HTTP proxy
      - 8388:8388/tcp # Shadowsocks
      - 8388:8388/udp # Shadowsocks
    volumes:
      - /yourpath:/gluetun
    environment:
      # See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup
      - VPN_SERVICE_PROVIDER=ivpn
      - VPN_TYPE=openvpn
      # OpenVPN:
      - OPENVPN_USER=
      - OPENVPN_PASSWORD=
      # Wireguard:
      # - WIREGUARD_PRIVATE_KEY=wOEI9rqqbDwnN8/Bpp22sVz48T71vJ4fYmFWujulwUU=
      # - WIREGUARD_ADDRESSES=10.64.222.21/32
      # Timezone for accurate log times
      - TZ=
      # Server list updater
      # See https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-the-vpn-servers-list
      - UPDATER_PERIOD=
github-actions[bot] commented 3 months ago

@qdm12 is more or less the only maintainer of this project and works on it in his free time. Please:

forkentiney commented 3 months ago

I'm guessing this was my problem as well. Gluetun wasn't able to find any servers using the latest tag, but manually tagging to v3.38 fixed the problem for me even though at this point in time latest and v3.38 should point to the same thing.

marcosvrs commented 3 months ago

Using qmcgaw/gluetun:v3 fixes it. But I guess most of the users are not setting any tag, since it's the recommended way in the README file.

qdm12 commented 3 months ago

See https://github.com/qdm12/gluetun-wiki/blob/main/setup/docker-image-tags.md latest points to the master branch. There has been extensive debate why this is as such (summary: have more people testing the 'beta' to have more stable releases).

Since the original poster did not actually include a 'bug' description - except that latest should be v3 I think 🤔....

@forkentiney

I'm guessing this was my problem as well. Gluetun wasn't able to find any servers using the latest tag

What servers? Can you please provide details??

@marcosvrs same, I need details, what issue are you having

marcosvrs commented 3 months ago

See https://github.com/qdm12/gluetun-wiki/blob/main/setup/docker-image-tags.md latest points to the master branch. There has been extensive debate why this is as such (summary: have more people testing the 'beta' to have more stable releases).

Since the original poster did not actually include a 'bug' description - except that latest should be v3 I think 🤔....

@forkentiney

I'm guessing this was my problem as well. Gluetun wasn't able to find any servers using the latest tag

What servers? Can you please provide details??

@marcosvrs same, I need details, what issue are you having

It seems this is more of a misexpectation from my part. I use Watchtower, and noticed that the latest tag is pointing to an unstable release, since it's getting updated every day. This caused some issues with other Docker images that rely on Gluetun’s network and require a stable internet connection. (I know, doesn't make sense to update containers automatically if I require them to be stable, but this is something I just realised while investigating it :D)

Wouldn’t it be clearer to highlight in the README file that it points to the master branch, which might be unstable?

Thanks again for your efforts on this project!

forkentiney commented 3 months ago

Hey, sorry for not providing more details earlier. Looks like the container is failing the healthcheck because it cannot find any servers. Here's my compose:

  gluetun:
    container_name: gluetun-testing
    image: qmcgaw/gluetun:latest
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    volumes:
      - /PATH/TO/CONFIG:/gluetun
    environment:
      - VPN_SERVICE_PROVIDER=protonvpn
      - OPENVPN_USER=USERNAME
      - OPENVPN_PASSWORD=PASSWORD
      - SERVER_COUNTRIES=Netherlands,Switzerland
      - VPN_PORT_FORWARDING=on
    ports:
      - 8888:8888/tcp # HTTP proxy
      - 8388:8388/tcp # Shadowsocks
      - 8388:8388/udp # Shadowsocks
    restart: always

This is the error that shows up in the logs and triggers the healthcheck failing: TIMESTAMP ERROR [vpn] finding a valid server connection: filtering servers: no server found: for VPN openvpn; protocol udp; countries Netherlands, Switzerland

This configuration, as shown by the error, does not work when using the latest tag, but works when using the v3 tag.

qdm12 commented 3 months ago

@marcosvrs See https://github.com/qdm12/gluetun/issues/556#issuecomment-892108408 this has already been discussed in the past 😉 And the solution brought is a :v3 tag which point to the latest stable release. This is also documented in the root page of the wiki: https://github.com/qdm12/gluetun-wiki And, really, if a good portion of the users don't read this, this is good for the people who pay attention to it, since the next release will thus be more stable. I would also add that Gluetun is tightly coupled with the host (system, kernel, network setup), so it's important to have a large user test base, and that's something that cannot really be automatically tested given the "limited dev resources" (aka my time and 80 years life expectancy 😄). Closing this as duplicate of #556

@forkentiney I just tried with the current latest image and it works fine, it finds me server node-nl-204.protonvpn.net. Maybe try to repull the latest image? 🤔 There has been 'plumbing work' done on protonvpn recently regarding servers data and filtering (cb99f90bb5eadd49fac87570c45f6603afecc701 4c47b6f142a1bf860caa447bd45f5e5d09d35066) with a few 'hot fixes' (aka fixes done shortly after the bug gets introduced: 5191f3558f03140442f7545f3b1aef1950529218 c5c37e7f969ee88aad8287d6679bc5f26b0ec461 ceb6ff4ca424b62110533b257c1c2551dcb605be) so you may be using a recent but buggy latest image perhaps? If this doesn't solve, please create another issue with your details 🙏

github-actions[bot] commented 3 months ago

Closed issues are NOT monitored, so commenting here is likely to be not seen. If you think this is still unresolved and have more information to bring, please create another issue.

This is an automated comment setup because @qdm12 is the sole maintainer of this project which became too popular to monitor issues closed.

qdm12 commented 3 months ago

Added section to the wiki:

https://github.com/qdm12/gluetun-wiki/blob/f0c3d5cfb19df750f9a572875eaf8b1b66fe736d/setup/docker-image-tags.md#why-is-latest-pointing-to-the-edge-of-development

nataloko commented 3 months ago

Yesterday I also had the same issue of gluetun not finding any servers on protonvpn on latest; I found the cluprit to be VPN_PORT_FORWARDING, disabling it would find the servers again.

forkentiney commented 3 months ago

@forkentiney I just tried with the current latest image and it works fine, it finds me server node-nl-204.protonvpn.net. Maybe try to repull the latest image? 🤔 There has been 'plumbing work' done on protonvpn recently regarding servers data and filtering (cb99f90 4c47b6f) with a few 'hot fixes' (aka fixes done shortly after the bug gets introduced: 5191f35 c5c37e7 ceb6ff4) so you may be using a recent but buggy latest image perhaps? If this doesn't solve, please create another issue with your details 🙏

@qdm12 Looks like that did it. Thanks.