Ok so I’ve found out the potential problem thanks to Reddit: Docker v28.0.0 up appears to have a potential bug on Arm builds which breaks the network security set up. The bug seems to not be on X86_64 builds or systems. I don’t know exactly what the nature of the bug is.
The details of a temporary workaround (downgrading Docker) are available here: https://www.reddit.com/r/gluetun/comments/1l5hrbt/fix_gluetun_containers_not_working_with_raspberry/
Obviously downgrading packages is far from ideal for numerous reasons but I share it incase people need it until this is fixed. I’ll probably move to native hosting my VPN and QBittorent servers as a better work around.
I’ve tested their workaround though - as suggested I rolled my docker back to v27.5.1 using this command:
sudo apt install docker-compose-plugin=2.32.4-1~debian.12~bookworm docker-ce-cli=5:27.5.1-1~debian.12~bookworm docker-buildx-plugin=0.20.0-1~debian.12~bookworm docker-ce=5:27.5.1-1~debian.12~bookworm docker-ce-rootless-extras=5:27.5.1-1~debian.12~bookworm
And a hold can be put on upgrading the affected packages using this command (With sudo apt-mark unhold… to undo):
sudo apt-mark hold docker-compose-plugin=2.32.4-1~debian.12~bookworm docker-ce-cli=5:27.5.1-1~debian.12~bookworm docker-buildx-plugin=0.20.0-1~debian.12~bookworm docker-ce=5:27.5.1-1~debian.12~bookworm docker-ce-rootless-extras=5:27.5.1-1~debian.12~bookworm
I composed up my docker-compose.yml and my stack is working exactly as expected now, and exactly as it was on on my X86_64 machine. It instantly connects to trackers.
At face value this appears to be a Docker bug but I suppose it could also be some other configuration issue on Pi devices conflicting with Docker that needs correcting since Docker updates? I have no idea but this is relevant for Dietpi as it may be having other unintended consequences when people deploy Docker stacks.
And to reiterate, while this fix and issue has specifically come from a Gluetun container and community, I have tested with 3 different VPN tools released in totally separate containers (Gluetun, Nordvpn and Nordlynx stacks) all working on X86 and all with the exact same issue on Dietpi, and I have also tested using NordVPN and ProtonVPN as the actual VPN service.