I saw an appreciation post for Gluetun on here in the last couple of weeks. I'd set it up before my server died and I had to reinstall everything, but then gone for the easy method when I was reinstalling.
So my easy method install had a VM as a server running Plex and Docker and a second VM with Mullvad installed running anything that needed a VPN in Docker.
Yesterday I opened up a program behind the VPN and it wasn't working again. I had to restart the VM to get it going and it annoyed me. So before work I set up Gluetun.
I had previously used this walkthrough https://youtu.be/9dJPOd0XbN8 so I went back to it, looked in the notes and found his GitHub, then his docker compose under Torrent-VPN.
I stole his initial Gluetun config and the qBittorrent part, but then went into Portainer and took all my running containers and added them to the file. I took the ports out of each compose file and added the "network mode" and "depends on Gluetun" bits from the qBittorrent part of his config and added them to each compose file I added to the file.
Then the ports I had removed I added to the Gluetun part of his compose file.
Downloaded a config file for Mullvad and added the IP and private Key to the Gluetun compose.
Then launch the stack and it worked.
Now for the Gotchas. I had to go into Portainer to get the IP address that the whole stack used. This IP address was required to get containers talking to each other. If you need Sonarr to connect to Prowlarr it needs this IP address.
Also the downloader (he uses qBittorrent and I used RDT client) needed to be mapped using "localhost" for each container and the port
But other than those Gotchas it was quite easy and I managed to get everything set up an hour after finishing work. This was because I just used backups of my already running containers and restored them in the new ones, then edited the bits that had changed (IP addresses in my Gotchas)
The upside is that I'm now only using the one VM, meaning I've saved 4gb of RAM.
I can use that ram for something else now. Nextcloud? Immich?
I might not be the only one not knowing what gluetun was so here's the repo:
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.
Thanks for that, yeah it's kinda integral to an appreciation post, what is it exactly.
So what Gluetun has done has replaced all the messing around with VPNs for me. Rather than having a specific VM for VPN tasks running using Mullvads app, I can now run the VPN stuff in my VM that was previously just for clearnet things at the same time as those things, without the additional app.
I've just deleted the app and containers in the VPN VM and am repurposing it for trying out new things in Docker. Current project is Nextcloud AIO, which I'm failing at for now.
Honestly I just think it's my general ability. I couldn't get the Docker Compose file to work in Portainer. But in all seriousness I don't think I need NC, I was just interested in what it offers.
I'm not sure how well docker-in-docker would work via portainer. Maybe it does, I've not tried it.
I would just do it from a folder you set up yourself and drop the docker-compose.yml in it, and go. If you want to share your dockercompose I can see if I notice a problem. I remember having to get over a couple issues at the time, but it's been a while and can't remember them offhand.