Creating a bug report/issue
I have searched the existing open and closed issues
Required Information
-
DietPi version |
G_DIETPI_VERSION_CORE=9
G_DIETPI_VERSION_SUB=14
G_DIETPI_VERSION_RC=2
G_GITBRANCH=‘master’
G_GITOWNER=‘MichaIng’
G_LIVE_PATCH_STATUS[0]=‘not applied’ -
Distro version | bookwork 0
-
Kernel version | Linux DietPi 6.12.34+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.12.34-1+rpt1~bookworm (2025-06-26) aarch64 GNU/Linux
-
Architecture | arm64
-
SBC model | RPi 5 Model B (aarch64)
-
Power supply used | RaspPi official power supply
-
SD card used | NVME drive via Hat
Additional Information (if applicable)
- Software title | Docker
- Was the software title installed freshly or updated/migrated? Freshly
Steps to reproduce
I’m having an issue deploying a VPN + Qbittorrent stack via Docker on my DietPi device. The setup uses Docker Compose with Gluetun (NordVPN) and Qbittorrent. It works fine on my x86_64 VM, but on DietPi, while Gluetun connects successfully, Qbittorrent can’t connect to the internet. This is tested via ipleak.net where I cannot get any connection, nor with test torrents.
I’ve tested with different torrent clients (e.g., Deluge) and VPN containers (e.g. separate dedicated NordVPN and Nordlynx container builds), but the result is the same: works on x86_64, fails on DietPi. I’ve also tried various different port combinations. Without the VPN, Qbittorrent connects fine. Gluetun also works with other containers. Inside the Qbittorrent container, I can resolve and ping domains, yet no actual connectivity in Qbittorrent itself. In Qbittorrent I get no change with specifying the network device (eth0, tun0 etc)
Both systems are behind the same Pi-hole DNS setup (hosted on the same RaspPi I’m running docker), and the device has no other VPN software installed. I have no firewall installed on the device. I’ve seen forum mentions of Docker bridge issues on DietPi, especially when a VPN server runs directly on the host, but that doesn’t apply here—just Pi-hole is installed.
I’m aware of alternative approaches (e.g. running a VPN + torrent client natively instead), but I want to understand why this setup fails on DietPi but not on x86_64. Is this a DietPi/Docker bug or a misconfiguration I’m overlooking?
Expected behaviour
Deploying the docker compose file on Dietpi should set up Gluetun and Qbittorrent in the same way as deploying it on x86 machine. I have tried various mixes of VPNs and Torrent clients to try to exclude bugs specifically within the ARM versions of the docker services with the same result. That is still possible though (e.g. maybe a common library in the docker builds for arm devices rather than a dietpi issue?).
Actual behaviour
Gluetun and Qbittorrent launch without issue in Docker, and Gluetun connects to my VPN provider. I can ping addresses from within the Qbittorrent container and I can also reach ipleak and it shows my VPN IP. But in Qbittorrent itself I get no connection - on announce of the Ipleak magnet it times out and Qbittorrent shows no connection (red globe icon etc).
Extra details
This is the docker compose file I’ve been using.
docker-compose.yml
services:
gluetun:
image: qmcgaw/gluetun
container_name: vpn
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun # I've added this most recently but no change
ports:
- 22836:22836
- 22836:22836/udp
- 8080:8080
environment:
- VPN_SERVICE_PROVIDER=nordvpn
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=[REDACTED]
- SERVER_CATEGORIES=p2p
volumes:
- /home/dietpi/torrent:/gluetun
restart: unless-stopped
qbittorrent:
image: ghcr.io/linuxserver/qbittorrent
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- WEBUI_PORT=8080
- TORRENTING_PORT=22836
volumes:
- /home/dietpi/torrent/qbt/config:/config
- /home/dietpi/torrent/downloads:/downloads
network_mode: "container:vpn"
restart: unless-stopped
depends_on:
gluetun:
condition: service_healthy
Any insight would be much appreciated! As I say, I’m interested in fixing this specifically out of curiosity rather than alternative approaches (such as abandoning Docker). I’m interested in understanding why it isn’t working on my Dietpi install.
Many thanks!