# https://hub.docker.com/r/bitnami/dokuwiki
# https://github.com/kylemanna/docker-openvpn/blob/master/docs/docker-compose.md

OVPN_DATA="ovpn-data"
docker volume create --name $OVPN_DATA

docker run --name $OVPN_DATA -v ovpn-data:/etc/openvpn busybox

docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM
docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm kylemanna/openvpn touch /etc/openvpn/vars
docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm -it kylemanna/openvpn ovpn_initpki

# server
_srv=/srv/docker
OVPN_DATA="ovpn-data"
# On Docker older than version 1.2
_virtual_hostname=openvpn.odamus.com
OVPN_DATA="ovpn-data"
docker stop $_virtual_hostname && docker rm -f $_virtual_hostname
docker run  --name $_virtual_hostname -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn


# debugimisega koos
docker run -v $OVPN_DATA:/etc/openvpn -p 1194:1194/udp --privileged -e DEBUG=1 kylemanna/openvpn

# sudo chown -R $(whoami): ./openvpn-data



# ------------------ SERTIFIKAATIDE GENEREERIMINE ----------------------

# Generate a client certificate
export CLIENTNAME="your_client_name"
# with a passphrase (recommended)
docker-compose run --rm openvpn easyrsa build-client-full $CLIENTNAME
# without a passphrase (not recommended)
docker-compose run --rm openvpn easyrsa build-client-full $CLIENTNAME nopass
#Retrieve the client configuration with embedded certificates
docker-compose run --rm openvpn ovpn_getclient $CLIENTNAME > $CLIENTNAME.ovpn
# Revoke a client certificate
# Keep the corresponding crt, key and req files.
docker-compose run --rm openvpn ovpn_revokeclient $CLIENTNAME
# Remove the corresponding crt, key and req files.
docker-compose run --rm openvpn ovpn_revokeclient $CLIENTNAME remove

# Test using a client that has openvpn installed correctly
openvpn --config CLIENTNAME.ovpn

# -------------- UUENDAMINE -------------------
# server sertifikaadi uuendamine
easyrsa gen-crl
