wg-manager/README.md

62 lines
1.3 KiB
Markdown
Raw Normal View History

2024-10-06 12:56:12 +02:00
# WG-MANAGER
This simple Django web interface helps to manage wg connections in a client/server scenario.
Users are allowed to create, enable and disable wg peers.
**Warning**
this program is **alpha quality**, not fully tested and can break your computer :D
also it must run with *root privileges* :(
## Quickstart
create a python venv:
```bash
python -m venv venv
```
activate it
```bash
. venv/bin/activate
```
install the requirements
```bash
2024-10-11 14:55:05 +02:00
pip install -r requirements.txt
2024-10-06 12:56:12 +02:00
```
in `wg_manager` dir
create your own `settings.py`:
```python
from .settings_dist import *
# your customization here
```
or simply make a symbolic link:
```bash
ln -s settings_dist.py settings.py
```
copy `.env-dist` and create your own `.env` set the variable `WG_INTERFACE` according to the name of the wg interface you want to manage
create the sqlite db:
```bash
./manage.py migrate
```
2024-10-11 14:55:05 +02:00
collect static assets:
```bash
./manage.py collectstatic
```
2024-10-06 12:56:12 +02:00
create the superuser:
```bash
./manage.py createsuperuser
```
if you already have connections you can import them in the db with:
```bash
./manage.py sync
```
you can test with the integrated dev server:
```bash
./manage.py runserver
```
and then deploy it using a proper web server like [gunicorn](https://gunicorn.org/):
```bash
gunicorn wg_manager.wsgi
```
with a proper tls enabled reverse proxy before it.