Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Thanks for sharing this.
What’s are the advantage of using a docker container for openvpn, versus making the entire server an openvpn server?
Nice guide. It would be nice to clarify you need a 64 bits droplet for this :)
I get FATA[0000] Error response from daemon: container --rm not found, impossible to mount its volumes when I try to create client certificates?
Very concise and easy to follow even for a newbie like me. However, when I attempt to connect my client, the connection fails and this is what is recorded in the client log:
Feb 25 21:07:00: Viscosity Mac 1.5.3 (1255) Feb 25 21:07:00: Viscosity OpenVPN Engine Started Feb 25 21:07:00: Running on Mac OS X 10.10.2 Feb 25 21:07:00: --------- Feb 25 21:07:00: Checking reachability status of connection… Feb 25 21:07:00: Connection is reachable. Starting connection attempt.
That’s it. Not very helpful output. Any idea what’s wrong? This is the output from ifconfig:
docker0 Link encap:Ethernet HWaddr aa:aa:aa:aa:aa:aa inet addr:172.xxx.xxx.xxx Bcast:0.0.0.0 Mask:255.xxx.xxx.xxx inet6 addr: xxxxxxxxxxxxxxxxxxxxxxxxxxx Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:536 (536.0 B) TX bytes:648 (648.0 B)
eth0 Link encap:Ethernet HWaddr aa:aa:aa:aa:aa:aa inet addr:178.xx.xxx.xxx Bcast:178.xxx.xxx.xxx Mask:255.xxx.xxx.xxx inet6 addr: xxxxxxxxxxxxxxxxxxxxxxxxxxx Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1308 errors:0 dropped:0 overruns:0 frame:0 TX packets:1262 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:106696 (106.6 KB) TX bytes:90915 (90.9 KB)
The latest attempt produced this:
Feb 25 21:52:04: Viscosity Mac 1.5.3 (1255) Feb 25 21:52:04: Viscosity OpenVPN Engine Started Feb 25 21:52:04: Running on Mac OS X 10.10.2 Feb 25 21:52:04: --------- Feb 25 21:52:04: Checking reachability status of connection… Feb 25 21:52:04: Connection is reachable. Starting connection attempt. Feb 25 21:52:05: Options error: --dh fails with ‘dh.key’: No such file or directory Feb 25 21:52:05: Options error: Please correct these errors.
Thank you for sharing this tutorial. Everything you mentioned worked fine for me. But while I am connected to my VPN via Tunnelblick and curl icanhazip.com is returning the correct IP, I still get my personal IP when connected to my server through SSH. What am I missing here? How can I get the IP of the VPN?
Hi Kyle, thanks for putting this guide together. I had the vpn running flawlessly after following your guide but after trying to reconnect a few hours later am getting stuck at “waiting for a server response” when trying to connect.
I have restarted the machine, relaunched the process using docker run --volumes-from $OVPN_DATA --rm kylemanna/openvpn ovpn_genconfig -u udp://vpn.example.com:1194 (with my domain sub’d in), and have verified the process is running using docker ps.
Edit: after checking docker ps again, it appears the process dies out shortly after starting.
Any suggestions? Thanks!