Let Me Containerize That VPN For You
How to use this?
Drop your OpenVPN configuration file in this directory.
Let's pretend that it's called
Then all you have to do is to run:
docker-compose run vpn hacktheplanet.ovpn
If you need a password (because your OpenVPN configuration specifies
auth-user-pass) you will be prompted for it.
If the VPN server pushes routes and so forth, they will be added to your machine, because the Compose file specifies
net: host so the container runs within the hosts namespace.
If you don't need to specify a password, you can use
docker-compose run -d vpn hacktheplanet.ovpn to start the container in the background.
If you OpenVPN configuration needs extra files (certificates etc) you can drop them in this directory too.
How to fix DNS
To let OpenVPN change your resolv.conf file you need to add 2 scripts to your configuration to trigger the Alpine provided scripts.
up /usr/share/openvpn/up.sh down /usr/share/openvpn/down.sh
Because we're the containerati and we like when things are neatly arranged in their boxes.