Awesome Open Source
Awesome Open Source

[English] [ะ ัƒััะบะธะน]

Build Status Build Status Build Time Docker Pulls Gitter chat GitHub


Out of the box stateless openvpn server docker image which starts in just a few seconds and doesn't require presistent storage. To get it running, just copy & paste the snippet below and follow instructions in your terminal:

docker run --name dockovpn --cap-add=NET_ADMIN \
-p 1194:1194/udp -p 80:8080/tcp \
-e HOST_ADDR=$(curl -s \

To get more detailed information, go to Quick Start tutorial or watch video.


GitHub Repo:

DockerHub Repo:

Docker Tags

Tag Description
latest This tag is added to every newly built version be that v#.#.# or v#.#.#-regen-dh
v#.#.# Standard fixed release version, where {1} is major version, {2} - minor and {3} is a patch. For instance, v1.1.0
v#.#.#-regen-dh Release version with newly generated Deffie Hellman security file. In order to keep security high this version is generated every hour. Tag example - v1.1.0-regen-dh
dev Development build which contains the most recent changes from the active development branch (master)

Container commands

After container was run using docker run command, it's possible to execute additional commands using docker exec command. For example, docker exec <container id> ./ See table below to get the full list of supported commands.

Command Description Parameters Example
./ Outputs full container version, i.e Dockovpn v1.2.0 docker exec dockovpn ./
./ Generates new client configuration z โ€” Optional. Puts newly generated client.ovpn file into archive.

zp paswd โ€” Optional. Puts newly generated client.ovpn file into archive with password pswd

o โ€” Optional. Prints cert to the output.

oz โ€” Optional. Prints zipped cert to the output. Use with output redirection.

ozp paswd โ€” Optional. Prints encrypted zipped cert to the output. Use with output redirection.
docker exec dockovpn ./

docker exec dockovpn ./ z

docker exec dockovpn ./ zp 123

docker exec dockovpn ./ o > client.ovpn

docker exec dockovpn ./ oz >

docker exec dockovpn ./ ozp paswd >

๐Ÿ“บ Video Guide

๐Ÿš€ Quick Start


  1. Any hardware or vps server running Linux. You should have administrative rights on this machine.
  2. Docker installation on your server.
  3. Public ip address assigned to your server.

1. Run docker-openvpn

Copy & paste the following command to run docker-openvpn:

docker run --cap-add=NET_ADMIN \
-p 1194:1194/udp -p 80:8080/tcp \
-e HOST_ADDR=$(curl -s \
--name dockovpn alekslitvinenk/openvpn

If everything went well, you should be able to see the following output in your console:

Sun Jun  9 08:56:11 2019 Initialization Sequence Completed
Sun Jun  9 08:56:12 2019 Client.ovpn file has been generated
Sun Jun  9 08:56:12 2019 Config server started, download your client.ovpn config at
Sun Jun  9 08:56:12 2019 NOTE: After you download you client config, http server will be shut down!

2. Get client configuration

Now, when your docker-openvpn is up and running you can go to <your_host_public_ip>:8080 on your device and download ovpn client configuration. As soon as you have your config file downloaded, you will see the following output in the console:

Sun Jun  9 09:01:15 2019 Config http server has been shut down

Import client.ovpn into your favourite openvpn client. In most cases it should be enough to just doubleclick or tap on that file.

3. Connect to your docker-openvpn container

You should be able to see your newly added client configuration in the list of available configurations. Click on it, connection process should initiate and be established withing few seconds.

Congratulations, now you're all set and can safely browse the internet.

Persisting configuration

There's a possibility to persist generated files on in volume storage. Run docker with

-v openvpn_conf:/opt/Dockovpn_data

Alternative way. Run with docker-compose

Sometimes it is more convinient to use docker-compose.

To run docker-openvpn with docker-compose run:

echo HOST_ADDR=$(curl -s > .env && \
docker-compose up -d && \
docker-compose exec -d dockovpn wget -O /doc/Dockovpn/client.ovpn localhost:8080

After run this command you can find your client.ovpn inside openvpn_conf folder.

Other resources

Contrubition Guidelines
Code Of Conduct
Release Guideline
License Agreement

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
shell (9,861)ย 
docker (2,738)ย 
security (1,804)ย 
docker-image (375)ย 
vpn (246)ย 
openvpn (76)ย 
vpn-server (34)ย 

Find Open Source By Browsing 7,000 Topics Across 59 Categories

Advertising ๐Ÿ“ฆย 10
All Projects
Application Programming Interfaces ๐Ÿ“ฆย 124
Applications ๐Ÿ“ฆย 192
Artificial Intelligence ๐Ÿ“ฆย 78
Blockchain ๐Ÿ“ฆย 73
Build Tools ๐Ÿ“ฆย 113
Cloud Computing ๐Ÿ“ฆย 80
Code Quality ๐Ÿ“ฆย 28
Collaboration ๐Ÿ“ฆย 32
Command Line Interface ๐Ÿ“ฆย 49
Community ๐Ÿ“ฆย 83
Companies ๐Ÿ“ฆย 60
Compilers ๐Ÿ“ฆย 63
Computer Science ๐Ÿ“ฆย 80
Configuration Management ๐Ÿ“ฆย 42
Content Management ๐Ÿ“ฆย 175
Control Flow ๐Ÿ“ฆย 213
Data Formats ๐Ÿ“ฆย 78
Data Processing ๐Ÿ“ฆย 276
Data Storage ๐Ÿ“ฆย 135
Economics ๐Ÿ“ฆย 64
Frameworks ๐Ÿ“ฆย 215
Games ๐Ÿ“ฆย 129
Graphics ๐Ÿ“ฆย 110
Hardware ๐Ÿ“ฆย 152
Integrated Development Environments ๐Ÿ“ฆย 49
Learning Resources ๐Ÿ“ฆย 166
Legal ๐Ÿ“ฆย 29
Libraries ๐Ÿ“ฆย 129
Lists Of Projects ๐Ÿ“ฆย 22
Machine Learning ๐Ÿ“ฆย 347
Mapping ๐Ÿ“ฆย 64
Marketing ๐Ÿ“ฆย 15
Mathematics ๐Ÿ“ฆย 55
Media ๐Ÿ“ฆย 239
Messaging ๐Ÿ“ฆย 98
Networking ๐Ÿ“ฆย 315
Operating Systems ๐Ÿ“ฆย 89
Operations ๐Ÿ“ฆย 121
Package Managers ๐Ÿ“ฆย 55
Programming Languages ๐Ÿ“ฆย 245
Runtime Environments ๐Ÿ“ฆย 100
Science ๐Ÿ“ฆย 42
Security ๐Ÿ“ฆย 396
Social Media ๐Ÿ“ฆย 27
Software Architecture ๐Ÿ“ฆย 72
Software Development ๐Ÿ“ฆย 72
Software Performance ๐Ÿ“ฆย 58
Software Quality ๐Ÿ“ฆย 133
Text Editors ๐Ÿ“ฆย 49
Text Processing ๐Ÿ“ฆย 136
User Interface ๐Ÿ“ฆย 330
User Interface Components ๐Ÿ“ฆย 514
Version Control ๐Ÿ“ฆย 30
Virtualization ๐Ÿ“ฆย 71
Web Browsers ๐Ÿ“ฆย 42
Web Servers ๐Ÿ“ฆย 26
Web User Interface ๐Ÿ“ฆย 210