Easy Wireguard server setup using Docker Engine
Information related to Wireguard VPN you can find at official website - https://www.wireguard.com/
- GNU/Linux host with a recent kernel (5.x)
- Wireguard module installed using
sudo apt install wireguard-tools
- installed Docker Engine
- manual run
docker run --rm \
--cap-add sys_module \
--cap-add net_admin \
-e PUBLIC_IP=1.2.3.4 \
-e PORT=55555 \
-e DNS=8.8.8.8 \
-e SUBNET=10.88 \
-e SUBNET_PREFIX=16 \
-e SUBNET_IP=10.88.0.1/16 \
-v ./wireguard:/etc/wireguard \
-p 55555:55555/udp denisix/wireguard
- Sample docker-compose.yml file:
version: "3"
services:
wireguard:
image: denisix/wireguard
environment:
- PUBLIC_IP=1.2.3.4
- PORT=55555
- DNS=8.8.8.8
- SUBNET=10.88
- SUBNET_PREFIX=16
- SUBNET_IP=10.88.0.1/16
volumes:
- ./wireguard/:/etc/wireguard/
ports:
- 55555:55555/udp
cap_add:
- SYS_MODULE
- NET_ADMIN
restart: unless-stopped
To start your instance:
docker-compose up -d wireguard
There will be a QR code within the container's logs for the test user:
docker-compose logs wireguard
...as well as simple copy-paste instructions for your desktop clients :)
Adding a new client peer is easy:
docker-compose exec wireguard addclient client1
P.S.: Please give this repo a star if you like it 😉