You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
3.0 KiB

5 years ago
# wireguard-manager
The wireguard-manager provides a easy-to-use graphical interface to setup and manage wireguard server(s).
The following features is implemented:
* Create/Delete/Modify Server
* Create/Delete/Modify Users
* QRCode export
* Text export
* Start/Stop server
* User bandwidth usage statistics
The interface runs in docker and requires the host to have installed wireguard, either as a dkms module, or by using newer kernels (5.6+)
5 years ago
# Dependencies
* wireguard-dkms or Linux kernel >= 5.6
* docker
5 years ago
# Installation
5 years ago
## Docker
5 years ago
```bash
5 years ago
docker run -d \
--cap-add NET_ADMIN \
--name wireguard-manager \
--net host \
5 years ago
-p "51800-51900:51800-51900/udp" \
5 years ago
-v wireguard-manager:/config \
-e PORT="8888" \
5 years ago
-e ADMIN_USERNAME="admin" \
-e ADMIN_PASSWORD="admin \
5 years ago
perara/wireguard-manager
5 years ago
```
5 years ago
## Docker-compose
```yaml
wireguard:
container_name: wireguard-manager
image: perara/wireguard-manager
cap_add:
- NET_ADMIN
ports:
- 51800:51900/udp
- 8888:8888
volumes:
- ./ops/wireguard/_data:/config
environment:
HOST: 0.0.0.0
PORT: 8888
ADMIN_PASSWORD: admin
ADMIN_USERNAME: admin
WEB_CONCURRENCY: 1
```
# Environment variables
| 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 |
5 years ago
# Usage
When docker container is started, go to http://localhost:80
5 years ago
# Reverse Proxy
Use jwilder/nginx-proxy or similar.
5 years ago
# Showcase
5 years ago
![Illustration](docs/images/0.png)
5 years ago
![Illustration](docs/images/1.png)
5 years ago
5 years ago
![Illustration](docs/images/2.png)
5 years ago
5 years ago
![Illustration](docs/images/3.png)
5 years ago
5 years ago
![Illustration](docs/images/4.png)
5 years ago
5 years ago
![Illustration](docs/images/5.png)
![Illustration](docs/images/6.png)
![Illustration](docs/images/7.png)
![Illustration](docs/images/8.png)
5 years ago
# Roadmap
5 years ago
### Primaries
- 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)
### Other
5 years ago
* Eventual bugfixes
5 years ago
* Improve Auth
* Improve everything...