Skip to content

Instantly share code, notes, and snippets.

@Warchant
Last active August 28, 2017 13:49
Show Gist options
  • Select an option

  • Save Warchant/81f5447e48b2e2b500e6226acc653773 to your computer and use it in GitHub Desktop.

Select an option

Save Warchant/81f5447e48b2e2b500e6226acc653773 to your computer and use it in GitHub Desktop.
Start OpenVPN server using docker painlessly
#!/bin/sh
if [ -z "$1" ]; then
echo "Provide 1 argument: name of the client"
exit 1
fi
name=$1
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full $name nopass
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient $1 > $1.ovpn
#!/bin/sh
export OVPN_DATA=ovpn-data
export IP="PASTE SERVER IP HERE"
docker volume create --name $OVPN_DATA
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://$IP
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
#!/bin/sh
docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn
@Warchant
Copy link
Author

Warchant commented Aug 14, 2017

First:

  1. init.sh
  2. start.sh to start container
  3. genconfig.sh myusername

The result is myusername.ovpn config in the same folder as genconfig.sh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment