1
2
mirror of https://github.com/vimagick/dockerfiles synced 2024-06-28 09:41:20 +00:00
dockerfiles/openvpn/setup.sh

53 lines
1.6 KiB
Bash
Raw Normal View History

2015-07-06 00:35:53 +00:00
#!/bin/bash
#
2015-09-01 01:53:21 +00:00
# setup script for vimagick/openvpn
2015-07-06 00:35:53 +00:00
#
2015-07-16 09:55:42 +00:00
OVPN_DIR=./ovpn
2015-09-01 01:53:21 +00:00
OVPN_IMG=vimagick/openvpn
2015-07-16 09:55:42 +00:00
OVPN_DATA=openvpn_data_1
2015-09-01 02:38:12 +00:00
OVPN_BACKUP=openvpn.tgz
2016-05-01 01:06:20 +00:00
OVPN_SERVER=tcp://vpn.easypi.info
2015-07-06 00:35:53 +00:00
2015-07-16 09:55:42 +00:00
mkdir -p $OVPN_DIR
2015-09-01 03:00:28 +00:00
select opt in server client revoke backup restore quit
2015-07-06 00:35:53 +00:00
do
if [[ $opt == "server" ]]
then
echo "setup server ..."
2015-09-01 03:00:28 +00:00
docker run --rm --volumes-from $OVPN_DATA $OVPN_IMG ovpn_genconfig -u $OVPN_SERVER
docker run -it --rm --volumes-from $OVPN_DATA $OVPN_IMG ovpn_initpki
2015-07-06 00:35:53 +00:00
elif [[ $opt == "client" ]]
then
echo "setup client ..."
2015-07-16 09:55:42 +00:00
read -p '>>> ' OVPN_CLIENT
2015-09-01 03:00:28 +00:00
docker run -it --rm --volumes-from $OVPN_DATA $OVPN_IMG easyrsa build-client-full ${OVPN_CLIENT:?client is empty} nopass
docker run --rm --volumes-from $OVPN_DATA $OVPN_IMG ovpn_getclient $OVPN_CLIENT > $OVPN_DIR/$OVPN_CLIENT.ovpn
elif [[ $opt == "revoke" ]]
then
read -p '>>> ' OVPN_CLIENT
docker run -it --rm --volumes-from $OVPN_DATA $OVPN_IMG easyrsa revoke ${OVPN_CLIENT:?client is empty}
docker run -it --rm --volumes-from $OVPN_DATA $OVPN_IMG easyrsa gen-crl
2015-07-16 09:55:42 +00:00
elif [[ $opt == "backup" ]]
then
echo "backup volume ..."
2015-09-01 02:38:12 +00:00
docker run --rm --volumes-from $OVPN_DATA alpine tar cvzf - -C /etc openvpn > $OVPN_DIR/$OVPN_BACKUP
elif [[ $opt == "restore" ]]
then
echo "restore volume ..."
if docker inspect $OVPN_DATA >& /dev/null
then
docker run --rm --volumes-from $OVPN_DATA -i alpine tar xvzf - -C /etc < $OVPN_DIR/$OVPN_BACKUP
else
docker run --name $OVPN_DATA -v /etc/openvpn -i alpine tar xvzf - -C /etc < $OVPN_DIR/$OVPN_BACKUP
fi
2015-07-06 00:35:53 +00:00
elif [[ $opt == "quit" ]]
then
echo "bye"
exit
else
echo "invalid"
fi
done