Minimal OpenVPN Community Edition image with OpenSSL
160
A minimal OpenVPN Community Edition Docker image with OpenSSL and essential network troubleshooting tools.
Included packages:
openvpnopenssliputils-pingtraceroutednsutils
Run one OpenVPN server or client instance per container by mounting an OpenVPN configuration file.
Server:
docker run --rm \
--cap-add=NET_ADMIN \
--device /dev/net/tun \
-v ./server.conf:/etc/openvpn/openvpn.conf:ro \
mikulasp/openvpn-ce:latest
Client:
docker run --rm \
--cap-add=NET_ADMIN \
--device /dev/net/tun \
-v ./client.conf:/etc/openvpn/openvpn.conf:ro \
mikulasp/openvpn-ce:latest
You can also override the default configuration path:
docker run --rm \
--cap-add=NET_ADMIN \
--device /dev/net/tun \
-v ./config:/config:ro \
mikulasp/openvpn-ce:latest \
--config /config/client.conf
Each container should run a single OpenVPN instance. To run multiple servers or clients, start multiple containers with separate configurations.
Run it with Docker Compose by mounting your configuration file and granting access to the TUN device:
services:
openvpn:
image: mikulasp/openvpn-ce:latest
restart: unless-stopped
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- ./openvpn.conf:/etc/openvpn/openvpn.conf:ro
Optionally run it with a certificates directory mounted separately:
services:
openvpn:
image: mikulasp/openvpn-ce:latest
restart: unless-stopped
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- ./openvpn.conf:/etc/openvpn/openvpn.conf:ro
- ./certs:/etc/openvpn/certs:ro
Then reference these certificates in your OpenVPN configuration:
ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/client.crt
key /etc/openvpn/certs/client.key
Content type
Image
Digest
sha256:258df2eb0…
Size
71.4 MB
Last updated
19 days ago
docker pull mikulasp/openvpn-ce