[Help Requested] Port Forwarding w/ Qbittorrent & Gluetun Docker Compose?

https://leminal.space/post/15394175

[Help Requested] Port Forwarding w/ Qbittorrent & Gluetun Docker Compose? - Leminal Space

I’m trying to get Qbittorrent set up within Docker on my home server and want to configure port forwarding through my VPN for all of those Linux ISOs. Ideally, I also want to get a pipeline going with the *arr stack. I’ve heard the easiest way to do this is with Gluetun but I can’t for the life of me figure it out or know how to test it. Anyone been through something similar? Here is my current Docker Compose for reference: yaml services: gluetun: image: qmcgaw/gluetun:latest container_name: gluetun cap_add: - NET_ADMIN environment: - VPN_SERVICE_PROVIDER=airvpn - VPN_TYPE=wireguard - WIREGUARD_PRIVATE_KEY="[redacted]" - WIREGUARD_PRESHARED_KEY="[redacted] - WIREGUARD_ADDRESSES=10.131.184.14/32 - FIREWALL_VPN_INPUT_PORTS=8069 - SERVER_COUNTRIES=United States devices: - /dev/net/tun:/dev/net/tun volumes: - /home/fenndev/.config/gluetun:/config ports: - 9091:9091 # WebUI - 6881:6881 - 6881:6881/udp restart: unless-stopped qbit: image: lscr.io/linuxserver/qbittorrent:latest container_name: qbit network_mode: "service:glueten" environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles # Timezone set to Los A> - WEBUI_PORT=9091 # Qbittorrent webUI port volumes: - /home/fenndev/.config/qbit:/config # Configura> - /home/fenndev/torrents:/downloads # Torrent da> depends_on: glueten: condition: service_healthy

To enable port forwarding with gluetun see the port forwarding section in the gluetun wiki on their github page. It’s pretty clear what you need to do there.

For port forwarding with qbit, gluetun’s v3.40.0 release introduced an environment variable that allows the running of a script whenever the VPN changes port (see PR github.com/qdm12/gluetun/pull/2399). If you take a look at the PR some people shared commands to put under the env variable VPN_PORT_FORWARDING_UP_COMMAND.

So all you need to do is put that new environment variable in the environment section, take one of the example commands that uses the qbitorrent API to change the port when needed, and it should be all.

To test if port forwarding works qbittorrent will display a little green planet in the bottom bar, and if port forwarding is not working, a fire (to say it’s firewalled).

feat(portforwarding): Allow running script upon port forwarding success by lavalleeale · Pull Request #2399 · qdm12/gluetun

This PR allows an environment variable (VPN_PORT_FORWARDING_STATUS_SCRIPT) to be set that will run a script whenever there is an update to port forwarding status that could be used to sync with oth...

GitHub

allows the running of a script whenever the VPN changes port (see PR github.com/qdm12/gluetun/pull/2399).

That’s an unknown, but welcome change. My experience for protonvpn was cludgy because you effectively had to run another service to spin and update qbittorrent’s port whenever it changed. Happy to see some form of baked in support for it now.

feat(portforwarding): Allow running script upon port forwarding success by lavalleeale · Pull Request #2399 · qdm12/gluetun

This PR allows an environment variable (VPN_PORT_FORWARDING_STATUS_SCRIPT) to be set that will run a script whenever there is an update to port forwarding status that could be used to sync with oth...

GitHub
I was having a lot of trouble keeping port forwarding stable before this change with protonvpn too. Probably the best change I’ve seen with gluetun so far!
Question: Does the green globe icon always indicate that it’s working?
Yes, if a port is set in the port forwarding section for the qbittorrent preferences in the webui (once one is set it stays until changed), the green globe means it’s working.
Are you sure about that? It shows a green globe, but the max upload speed stays below 1MiB/s. I saw other comments saying this could also indicate you are connected through other peers instead of being reachable through the forwarded port yourself.

That may be true. So far I got the “Firewalled” icon (the little flame) if my port isn’t forwarded for reason x or y so idk

The qbittorrrent wiki isn’t very helpful so I don’t actually know what the green globe truly entails :/