Skip to content

ThaseG/openvpn-container

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

153 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenVPN Server

A production-ready OpenVPN server running in Docker with built-in monitoring and metrics export capabilities. Tests in pipelines are testing the versions of OpenVPN, exporter, and IPtables rules.

Used Exporter

Exporter used in this project is from a dedicated repository here.

Features

  • 🔒 OpenVPN - Built from source for latest security features
  • 🐳 Docker-based - Easy deployment and management
  • 📊 Prometheus Metrics - Built-in OpenVPN exporter for monitoring
  • 🔄 Dual Protocol Support - Run TCP and UDP instances simultaneously
  • 🛡️ Security First - Runs as non-root user with minimal privileges
  • 📝 Flexible Configuration - Easy to customize via mounted configs
  • 🔧 iptables Support - Custom firewall rules support

Configuration

Required Files

Mount these files to /home/openvpn/config/:

  • server-common.conf - Common OpenVPN settings (required)
  • server-tcp.conf - TCP-specific configuration (optional)
  • server-udp.conf - UDP-specific configuration (optional)
  • iptables.sh - Custom firewall rules (optional)

Configuration Structure

/home/openvpn/config/
├── server-common.conf    # Shared settings
├── server-tcp.conf       # TCP instance config
├── server-udp.conf       # UDP instance config
├── iptables.sh           # Firewall rules (optional)
├── ca.crt                # Certificate Authority
├── server.crt            # Server certificate
├── server.key            # Server private key
├── dh.pem                # Diffie-Hellman parameters
└── ta.key                # TLS auth key (optional)

License

MIT License - feel free to use and modify as needed.

For more information:

  • the CONTRIBUTING document describes how to contribute to the repository
  • in case of need, please contact owner group : ThaseG
  • see Changelog for release information.
  • check Upgrade procedure to see how to create new openvpn container image.
  • check Tests to see how automated tests works within this repository to verify version.

About

OpenVPN community container with build-in exporter, vulnerability and E2E test

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors