OpenVPN
OpenVPN is one of the most widely deployed open-source VPN solutions, providing secure point-to-point or site-to-site connections. This stack uses the kylemanna/openvpn Docker image, which bundles OpenVPN with EasyRSA for certificate management and a streamlined initialization process. Data is persisted in a named volume mounted at /etc/openvpn, ensuring your PKI, server configuration, and client certificates survive container restarts. The container runs with NET_ADMIN capability required for tunnel interface creation and uses UDP port 1194 for optimal VPN performance. After deployment, run `docker compose run --rm openvpn ovpn_genconfig -u udp://YOUR_SERVER_IP` and `docker compose run --rm openvpn ovpn_initpki` to initialize, then generate client configs with `docker compose run --rm openvpn easyrsa build-client-full CLIENT_NAME nopass`.
Services Inclus
openvpn
kylemanna/openvpn:latest
Variables d'Environnement :
YAML Généré
# Generated by ComposeHub (composehub.dev)
name: openvpn
services:
openvpn:
image: kylemanna/openvpn:latest
restart: always
ports:
- 1194:1194/udp
volumes:
- openvpn_data:/etc/openvpn
environment:
OVPN_SERVER_URL: ${OVPN_SERVER_URL:-udp://localhost}
OVPN_DATA: /etc/openvpn
networks:
- openvpn
healthcheck:
test:
- CMD-SHELL
- pgrep openvpn || exit 1
interval: 30s
timeout: 10s
retries: 3
start_period: 15s
deploy:
resources:
limits:
cpus: "1.00"
memory: 256M
reservations:
cpus: "0.10"
memory: 64M
labels:
com.composehub.description: OpenVPN server with EasyRSA certificate management
cap_add:
- NET_ADMIN
networks:
openvpn:
driver: bridge
volumes:
openvpn_data:
driver: local
Informations Rapides
- Services
- 1
- Réseaux
- 1
- Volumes
- 1
Quand l'Utiliser
Ce modèle est idéal pour mettre en place un environnement openvpn Tous les services sont préconfigurés avec des healthchecks, des limites de ressources et des valeurs par défaut raisonnables. Personnalisez les variables d'environnement avant de déployer en production.
Conseils
- Changez tous les mots de passe par défaut avant le déploiement
- Vérifiez les limites de ressources pour votre matériel
- Ajoutez un reverse proxy pour le HTTPS en production
- Configurez des stratégies de sauvegarde pour les volumes de données