2023-10-26 12:42:18 +02:00
# WireGuard Portal (v2 - testing)
2020-11-10 22:23:05 +01:00
2025-01-23 08:06:55 +01:00
[](https://github.com/h44z/wg-portal/actions/workflows/docker-publish.yml)
2020-11-16 23:13:15 +01:00
[](https://opensource.org/licenses/MIT)
2025-01-23 08:06:55 +01:00

2021-02-26 23:13:11 +01:00
[](https://goreportcard.com/report/github.com/h44z/wg-portal)
2020-11-16 23:13:15 +01:00


2023-10-26 12:42:18 +02:00
[](https://hub.docker.com/r/wgportal/wg-portal/)
2020-11-16 23:13:15 +01:00
2025-01-23 08:06:55 +01:00
> [!CAUTION]
> Version 2 is currently under development and may contain bugs and breaking changes.
> It is not advised to use this version in production. Use version [v1](https://github.com/h44z/wg-portal/tree/stable) instead.
2023-10-26 12:42:18 +02:00
2025-01-23 08:06:55 +01:00
> [!IMPORTANT]
> Since the project was accepted by the Docker-Sponsored Open Source Program, the Docker image location has moved to [wgportal/wg-portal](https://hub.docker.com/r/wgportal/wg-portal).
> Please update the Docker image from **h44z/wg-portal** to **wgportal/wg-portal**.
2023-08-04 13:34:18 +02:00
2025-01-23 08:06:55 +01:00
## Introduction
<!-- Text from this line # is included in docs/documentation/overview.md -->
**WireGuard Portal** is a simple, web-based configuration portal for [WireGuard ](https://wireguard.com ) server management.
2022-03-15 22:46:00 +01:00
The portal uses the WireGuard [wgctrl ](https://github.com/WireGuard/wgctrl-go ) library to manage existing VPN
2025-01-23 08:06:55 +01:00
interfaces. This allows for the seamless activation or deactivation of new users without disturbing existing VPN
2020-11-16 23:13:15 +01:00
connections.
2025-01-23 08:06:55 +01:00
The configuration portal supports using a database (SQLite, MySQL, MsSQL or Postgres), OAuth or LDAP
(Active Directory or OpenLDAP) as a user source for authentication and profile data.
2020-11-16 23:13:15 +01:00
## Features
2025-01-23 08:06:55 +01:00
* Self-hosted - the whole application is a single binary
2025-02-27 22:32:11 +01:00
* Responsive multi-language web UI written in Vue.js
2025-01-23 08:06:55 +01:00
* Automatically selects IP from the network pool assigned to the client
* QR-Code for convenient mobile client configuration
* Sends email to the client with QR-code and client config
* Enable / Disable clients seamlessly
* Generation of wg-quick configuration file (`wgX.conf` ) if required
* User authentication (database, OAuth, or LDAP)
* IPv6 ready
* Docker ready
* Can be used with existing WireGuard setups
* Support for multiple WireGuard interfaces
* Peer Expiry Feature
* Handles route and DNS settings like wg-quick does
2025-02-27 22:32:11 +01:00
* Exposes Prometheus metrics for monitoring and alerting
2025-01-23 08:06:55 +01:00
* REST API for management and client deployment
<!-- Text to this line # is included in docs/documentation/overview.md -->

## Documentation
For the complete documentation visit [wgportal.org ](https://wgportal.org ).
2022-11-11 17:10:41 +01:00
2020-11-16 23:13:15 +01:00
## What is out of scope
2023-08-04 13:34:18 +02:00
2025-01-23 08:06:55 +01:00
* Automatic generation or application of any `iptables` or `nftables` rules.
* Support for operating systems other than linux.
* Automatic import of private keys of an existing WireGuard setup.
2022-03-15 22:46:00 +01:00
2020-11-16 23:13:15 +01:00
## Application stack
2025-01-23 08:06:55 +01:00
* [wgctrl-go ](https://github.com/WireGuard/wgctrl-go ) and [netlink ](https://github.com/vishvananda/netlink ) for interface handling
* [Gin ](https://github.com/gin-gonic/gin ), HTTP web framework written in Go
* [Bootstrap ](https://getbootstrap.com/ ), for the HTML templates
2025-02-27 22:32:11 +01:00
* [Vue.js ](https://vuejs.org/ ), for the frontend
2020-11-16 23:13:15 +01:00
## License
2025-01-23 08:06:55 +01:00
* MIT License. [MIT ](LICENSE.txt ) or < https: // opensource . org / licenses / MIT >