wireguard_webadmin is an intuitive web interface for WireGuard VPN management, designed to simplify the configuration and oversight of VPNs. It supports multi-user access and multiple WireGuard instances. Built on open-source principles and Ideal for administrators seeking an efficient and user-friendly VPN management solution.
  • JavaScript 60.9%
  • CSS 22.6%
  • HTML 12.6%
  • Python 2.8%
  • SCSS 1%
Find a file
2026-03-25 20:36:46 -03:00
accounts Refactor URL routing: break main urls.py into app-specific includes 2026-02-10 12:47:51 -03:00
api fix enhanced filter function 2026-03-17 10:41:08 -03:00
api_v2 add create_if_missing option to PUT request for DNS records 2026-03-17 15:01:50 -03:00
app_gateway add alert for disabled Caddy in App Gateway and Gatekeeper modules 2026-03-17 15:43:21 -03:00
cluster Refactor URL routing: break main urls.py into app-specific includes 2026-02-10 12:47:51 -03:00
console Refactor URL routing: break main urls.py into app-specific includes 2026-02-10 12:47:51 -03:00
containers Update TOTP verification page names 2026-03-24 16:14:00 -03:00
dns add "auto apply" for wireguard peers and dns entries 2026-03-25 20:07:42 -03:00
docs update .env variables and fix css issue 2026-03-25 20:36:46 -03:00
firewall Refactor URL routing: break main urls.py into app-specific includes 2026-02-10 12:47:51 -03:00
gatekeeper add alert for disabled Caddy in App Gateway and Gatekeeper modules 2026-03-17 15:43:21 -03:00
intl_tools Refactor URL routing: break main urls.py into app-specific includes 2026-02-10 12:47:51 -03:00
locale update translations 2026-03-24 16:09:26 -03:00
routing_templates Refactor URL routing: break main urls.py into app-specific includes 2026-02-10 12:47:51 -03:00
scheduler Refactor URL routing: break main urls.py into app-specific includes 2026-02-10 12:47:51 -03:00
screenshots DNS Filter completed 2025-03-01 21:42:03 -03:00
static_files update sidebar icons and adjust padding for improved layout 2026-03-17 15:53:58 -03:00
templates Add export_configs management command for WireGuard and Caddy configurations 2026-03-24 16:00:58 -03:00
user_manager Refactor URL routing: break main urls.py into app-specific includes 2026-02-10 12:47:51 -03:00
vpn_invite Refactor URL routing: break main urls.py into app-specific includes 2026-02-10 12:47:51 -03:00
vpn_invite_public Refactor URL routing: break main urls.py into app-specific includes 2026-02-10 12:47:51 -03:00
wgrrd add dark mode support 2026-03-17 12:04:11 -03:00
wgwadmlibrary handle subprocess error in list_network_interfaces function 2026-03-11 16:32:18 -03:00
wireguard Add IP address validation and availability checks in models.py 2026-02-11 11:03:39 -03:00
wireguard_peer add "auto apply" for wireguard peers and dns entries 2026-03-25 20:07:42 -03:00
wireguard_tools Add export_configs management command for WireGuard and Caddy configurations 2026-03-24 15:18:17 -03:00
wireguard_webadmin add "auto apply" for wireguard peers and dns entries 2026-03-25 20:07:42 -03:00
.dockerignore update ignore rules 2026-03-15 10:57:31 -03:00
.env.cluster_example refactor cluster settings handling and update DNS version logic 2026-01-01 15:29:59 -03:00
.env.example add "auto apply" for wireguard peers and dns entries 2026-03-25 20:07:42 -03:00
.gitignore update ignore rules 2026-03-15 10:57:31 -03:00
build_and_push.sh remove nginx service from docker-compose and build script 2026-03-25 20:10:45 -03:00
cluster_node-dev.yml update COMPOSE_VERSION to c1b 2026-01-14 15:58:00 -03:00
cluster_node.yml update COMPOSE_VERSION to c1b 2026-01-14 15:58:00 -03:00
docker-compose-build.yml remove nginx service from docker-compose and build script 2026-03-25 20:10:45 -03:00
docker-compose-caddy.yml add "auto apply" for wireguard peers and dns entries 2026-03-25 20:07:42 -03:00
docker-compose-dev.yml add "auto apply" for wireguard peers and dns entries 2026-03-25 20:07:42 -03:00
docker-compose-no-caddy.yml add "auto apply" for wireguard peers and dns entries 2026-03-25 20:07:42 -03:00
Dockerfile Fix build by pinning builder image to python:3.12-bookworm 2025-08-13 16:11:42 -03:00
Dockerfile_nginx Fix: remove nginx default virtualhost 2024-04-08 09:10:44 -03:00
entrypoint.sh add "auto apply" for wireguard peers and dns entries 2026-03-25 20:07:42 -03:00
init.sh Add export_configs management command for WireGuard and Caddy configurations 2026-03-24 15:18:17 -03:00
LICENSE Create LICENSE 2024-02-14 17:28:37 -03:00
manage.py Initial commit 2024-02-14 16:36:01 -03:00
nginx_entrypoint.sh Enhance nginx container to automatically generate self-signed certificates in absence of existing certificate files. 2024-03-05 13:26:18 -03:00
README.md Update README files to enhance link formatting for documentation 2026-03-18 22:50:45 -03:00
requirements.txt add argon2-cffi and PyYAML to requirements 2026-03-15 16:30:16 -03:00
update_messages.sh update translations 2026-03-11 18:50:37 -03:00
virtualhost.conf Enable static file caching with WhiteNoise and nginx. Switch to Gunicorn for deployment 2025-12-28 11:45:40 -03:00

🌍 Read this in other languages:

If you find any issues with the translation or would like to request a new language, please open an issue.

wireguard_webadmin

Self-hosted VPN management and Zero Trust access control — all on your infrastructure.

More than a WireGuard panel: manage peers, firewall rules, DNS, port forwarding, and publish internal apps with proper authentication — without relying on third-party services. Runs on any Linux machine with Docker. Free, open source, nothing leaves your server.

  • ⚙️ Manage — Multiple WireGuard instances, peer traffic graphs, firewall, DNS blacklists, VPN invite links with QR code
  • 🔒 Protect — Zero Trust application gateway with TOTP, IP ACL, and anti-brute-force (Altcha PoW)
  • Automate — Scheduled peer access, routing templates, expiring invite links, REST API v2

📖 Full documentation, installation guide and tips at wireguard-webadmin.com


Quick Install

mkdir wireguard_webadmin && cd wireguard_webadmin
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml
# edit .env with your SERVER_ADDRESS
docker compose up -d

For detailed instructions, upgrade guide, and configuration tips visit wireguard-webadmin.com.


Screenshots

Peer List

Real-time status and live bandwidth graphs for every peer across all WireGuard instances. Peer List

Peer Details

Traffic history, last handshake, allowed IPs, and QR code — all in one place. Peer Details

Zero Trust Application Gateway

Publish internal apps like Proxmox or Grafana with TOTP authentication in front — no open ports needed. Zero Trust App Gateway

Firewall Management

Per-instance iptables rules, port forwarding, and outbound ACLs managed from the UI. Firewall

VPN Invite

Generate a shareable invite with QR code and config file. The user scans or imports it directly into their WireGuard client. VPN Invite


License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome and greatly appreciated. Feel free to open issues or pull requests on GitHub.