The wg-manager provides an easy-to-use graphical web interface to import, setup, and manage WireGuard server(s). See Here
The features of wg-manager includes:
Server
- Create/Delete/Modify
- Start/Stop/Restart server
- Import existing
Peer
- Create/Delete/Modify
- Bandwidth usage statistics
- Export by QRCode, Text
General
- Modify Admin User
- Linux >= 5.6 (Alternatively: wireguard-dkms)
- Enable ip forwarding with
sysctl -w net.ipv4.ip_forward=1
- To make the forwarding persistent add
net.ipv4.ip_forward = 1
to/etc/sysctl.d/99-sysctl.conf
- To make the forwarding persistent add
- It is recommended to have a firewall protecting your servers
- A few people has experienced issues with running the dockerized method using bridged networking. To fix this, you can use
network_mode: host
. Note that you can no longer reverse-proxy the web interface from reverse proxies such as jwilder/nginx-proxy.
wireguard:
container_name: wg-manager
image: perara/wg-manager
cap_add:
- NET_ADMIN
#network_mode: host # Alternatively
ports:
- 51800:51900/udp
- 8888:8888
volumes:
- ./wg-manager:/config
environment:
HOST: 0.0.0.0
PORT: 8888
ADMIN_PASSWORD: admin
ADMIN_USERNAME: admin
WEB_CONCURRENCY: 1
When docker container/server has started, go to http://localhost:8888
Environment | Description | Recommended |
---|---|---|
GUNICORN_CONF | Location of custom gunicorn configuration | default |
WORKERS_PER_CORE | How many concurrent workers should there be per available core (Gunicorn | default |
WEB_CONCURRENCY | The number of worker processes for handling requests. (Gunicorn) | 1 |
HOST | 0.0.0.0 or unix:/tmp/gunicorn.sock if reverse proxy. Remember to mount | 0.0.0.0 |
PORT | The port to use if running with IP host bind | 80 |
LOG_LEVEL | Logging level of gunicorn/python | info |
ADMIN_USERNAME | Default admin username on database creation | admin |
ADMIN_PASSWORD | Default admin password on database creation | admin |
- Implement multi-server support (setting up site-2-site servers from the GUI)
- Extending multi-server support to enable custom access lists (A peer can be assigned to multiple servers, as part of the ACL)
- Eventual bugfixes
- Improve Auth
- Improve everything...