mirror of
https://github.com/vx3r/wg-gen-web.git
synced 2024-11-04 17:31:17 +00:00
update readme with systemd and inotify examples
This commit is contained in:
parent
38c86f3271
commit
fae25b5aaf
48
README.md
48
README.md
@ -11,7 +11,7 @@ Simple Web based configuration generator for [WireGuard](https://wireguard.com).
|
||||
|
||||
## Whay another one ?
|
||||
|
||||
All WireGuard UI implementation are trying to manage the WireGuard by applying configurations or creation network rules.
|
||||
All WireGuard UI implementation are trying to manage the service by applying configurations and creating network rules.
|
||||
This implementation only generate configuration and its up to you to create network rules and apply configuration to WireGuard.
|
||||
For example by monituring generated directory with [inotifywait](https://github.com/inotify-tools/inotify-tools/wiki).
|
||||
|
||||
@ -50,6 +50,51 @@ services:
|
||||
volumes:
|
||||
- /mnt/raid-lv-data/docker-persistent-data/wg-gen-web:/data
|
||||
```
|
||||
## How to trigger WireGuard on host
|
||||
|
||||
Before going further create a symlink from docker mounted volume to `/etc/wireguard`
|
||||
```
|
||||
ln -s /mnt/raid-lv-data/docker-persistent-data/wg-gen-web /etc/wireguard
|
||||
```
|
||||
|
||||
### Example with ```systemd```
|
||||
Using `systemd.path` monitor for directory changes see [systemd doc](https://www.freedesktop.org/software/systemd/man/systemd.path.html)
|
||||
```
|
||||
# /etc/systemd/system/wg-gen-web.path
|
||||
[Unit]
|
||||
Description=Watch /etc/wireguard for changes
|
||||
|
||||
[Path]
|
||||
PathModified=/etc/wireguard
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
This `.path` will activate unit file with the same name
|
||||
```
|
||||
# /etc/systemd/system/wg-gen-web.service
|
||||
[Unit]
|
||||
Description=Restart WireGuard
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/systemctl restart wg-quick@wg0.service
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
Which will restart WireGuard service
|
||||
|
||||
### Example with ```inotifywait```
|
||||
Using whatever init system create a daemon running this script
|
||||
```
|
||||
#!/bin/sh
|
||||
while inotifywait -e modify -e create /etc/wireguard; do
|
||||
wg-quick down wg0
|
||||
wg-quick up wg0
|
||||
done
|
||||
```
|
||||
|
||||
## What is out of scope
|
||||
|
||||
@ -58,7 +103,6 @@ services:
|
||||
|
||||
## TODO
|
||||
|
||||
* Full setup example with `inotifywait` and `systemd`
|
||||
* Multi-user support behind [Authelia](https://github.com/authelia/authelia) (suggestions / thoughts are welcome)
|
||||
* Send configs by email to client
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user