services:
openvpn:
container_name: openvpn
image: kylemanna/openvpn
ports:
- "1194:1194/udp"
restart: always
volumes:
- /dev/net/tun:/dev/net/tun
- ./openvpn:/etc/openvpn
cap_add:
- NET_ADMIN
OVPN_HOST="65.109.154.49"
OVPN_NETWORK="10.0.10.0 255.255.255.0"
OVPN_DATA="./openvpn"
OVPN_NAME="openvpn"
OVPN_USER="${user}"
default:
@echo
@echo "# User managment:"
@echo "make user_list - list users"
@echo "make user_get user= - get user config"
@echo "make user_add user= - add user"
@echo "make user_del user= - delete user"
@echo
build:
mkdir -p ${OVPN_DATA}
docker compose run --rm ${OVPN_NAME} ovpn_genconfig -u udp://${OVPN_HOST} -p "route ${OVPN_NETWORK}" -b -d -D -N
docker compose run --rm ${OVPN_NAME} ovpn_initpki nopass
run:
docker compose up -d
stop:
docker compose down
user_list:
docker compose run --rm ${OVPN_NAME} ovpn_listclients
user_add:
docker compose run --rm ${OVPN_NAME} easyrsa build-client-full ${OVPN_USER} nopass
docker compose run --rm ${OVPN_NAME} ovpn_getclient ${OVPN_USER}
user_del:
docker compose run --rm ${OVPN_NAME} ovpn_revokeclient ${OVPN_USER} remove
user_get:
docker compose run --rm ${OVPN_NAME} ovpn_getclient ${OVPN_USER}