Post #3679324
2026-06-28 11:57 UTC
So gluetun is for docker networks and lets you isolate traffic to/from other docker containers into a VPN, you run it and qbt inside docker containers with gluetun configured to your vpn, then qbt configured to route all its traffic through it.
Edit: I didn’t have to port forward at all on my network for this to access it locally (I run it on a separate computer), because all the “outside” traffic in qbt is going through the vpn that has a forwarded port seeders/leachers can connect (which is dynamically updated as it changes with the aforementioned qbt port manager)
For example (truncated docker compose just the part related to above):
services:
qbittorrent-vpn:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent-vpn
depends_on:
gluetun:
condition: service_started
restart: true
restart: unless-stopped
network_mode: “service:gluetun”
Then gluetun:
services:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
restart: unless-stopped
networks:
- default
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
- 8888:8888/tcp # HTTP proxy
volumes:
- /appdata/gluetun:/gluetun
- /appdata/gluetun/tmp:/tmp/gluetun
environment:
TZ: $TZ
VPN_SERVICE_PROVIDER: $GLUETUN_VPN_SERVICE_PROVIDER
VPN_TYPE: $GLUETUN_VPN_TYPE # wireguard / openvpn
WIREGUARD_PRIVATE_KEY: $GLUETUN_WIREGUARD_PRIVATE_KEY
WIREGUARD_ADDRESSES: $GLUETUN_WIREGUARD_ADDRESSES
VPN_PORT_FORWARDING: on
VPN_PORT_FORWARDING_PROVIDER: protonvpn # or your provider
VPN_PORT_FORWARDING_STATUS_FILE: /tmp/gluetun/forwarded_port
# OPENVPN_USER: $GLUETUN_OPENVPN_USERNAME
# OPENVPN_PASSWORD: $GLUETUN_OPENVPN_PASSWORD
healthcheck:
test: [“CMD”, “/gluetun-entrypoint”, “healthcheck”]
interval: 5s
timeout: 5s
retries: 1
start_period: 10s
gluetun-qbittorrent-port-manager:
image: jopiermeier/gluetun-qbittorrent-port-manager:latest
network_mode: “service:gluetun”
container_name: gluetun-port-manager
depends_on:
gluetun:
condition: service_started
restart: true
qbittorrent-vpn:
condition: service_started
restart: true
environment:
- QBITTORRENT_USER=
- QBITTORRENT_PASS=
- QBITTORRENT_PORT=$QBITTORRENTVPN_PORT
volumes:
- /appdata/gluetun/tmp:/tmp/gluetun
Replies (1)
-
@Valmond@lemmy.dbzer0.com 2026-07-01 05:56
So, the vpn itself has to be dockerised, right? I still can’t figure out the core technique that lets you detect the port used. Is gluetun a core component in a docker system?