The GitHub page for Gluetun provides lots more detail than I’m providing. I suggest you also check out the page.
Setting up Gluetun
I’m running this on my Ubuntu Server with Portainer, Docker, and Docker-Compose installed. To run Gluetun paste the following.
docker run -d --name gluetun --cap-add=NET_ADMIN \ -e VPNSP="protonvpn" -e SERVER_HOSTNAME="server" \ -e OPENVPN_USER=username -e OPENVPN_PASSWORD=password \ -e PORT=443 -e PORT=1194 \ -v /yourpath:/gluetun \ qmcgaw/gluetun
I’m using ProtonVPN, you’ll need your OpenVPN username and password from your VPN provider. You can find a list of the adjustable environment variables on the GitHub Page. If you are using ProtonVPN as well, replace the server with one of the server names. Some examples would be
Your Gluetun container should be up now. Run
docker ps to see if it is running.
Routing Through Gluetun
When you go to your
Containers in Portainer you should see the Gluetun container. If you need to forward any ports do the following.
Click on your Gluetun Container. Then click
Network ports configuration, add your ports.
Deploy the container and wait for it to deploy.
Now when you want to route a container through Gluetun go to
Duplicate/Edit and change the Network and Container variables.
Deploy the container. The container should now be routing through your VPN provider. To check you can do the following.
Exec Console (rightmost) under the
Quick Actions in the
Leave the values at default and click
Type in the following:
It’ll tell you the IP address that the container has. If it is different than your IP address then you are routing through Gluetun!