README improvements. (#268)

This commit is contained in:
Paul Dee 2022-12-13 21:31:19 +01:00 committed by GitHub
parent d32064dd0e
commit 99b586f1f7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -7,7 +7,7 @@ A web user interface to manage your WireGuard setup.
## Features
- Friendly UI
- Authentication
- Manage extra client's information (name, email, etc)
- Manage extra client information (name, email, etc)
- Retrieve configs using QR code / file
## Run WireGuard-UI
@ -87,9 +87,9 @@ These environment variables only apply to the docker container.
### Email configuration
To use custom `wg.conf` template set the `WG_CONF_TEMPLATE` environment variable to a path to such file. Make sure `wireguard-ui` will be able to work with it - use [default template](templates/wg.conf) for reference.
To use a custom `wg.conf` template, set the `WG_CONF_TEMPLATE` environment variable to a path to such file. To make sure `wireguard-ui` will be able to work with it - refer to the [default template](templates/wg.conf).
In order to sent the wireguard configuration to clients via email, set the following environment variables:
In order to send the wireguard configuration to clients via email, set the following environment variables:
- using SendGrid API
@ -117,9 +117,11 @@ WireGuard-UI only takes care of configuration generation. You can use systemd to
### systemd
Create /etc/systemd/system/wgui.service
Create `/etc/systemd/system/wgui.service`
```
```bash
cd /etc/systemd/system/
cat << EOF > wgui.service
[Unit]
Description=Restart WireGuard
After=network.target
@ -130,11 +132,14 @@ ExecStart=/usr/bin/systemctl restart wg-quick@wg0.service
[Install]
RequiredBy=wgui.path
EOF
```
Create /etc/systemd/system/wgui.path
Create `/etc/systemd/system/wgui.path`
```
```bash
cd /etc/systemd/system/
cat << EOF > wgui.path
[Unit]
Description=Watch /etc/wireguard/wg0.conf for changes
@ -143,39 +148,52 @@ PathModified=/etc/wireguard/wg0.conf
[Install]
WantedBy=multi-user.target
EOF
```
Apply it
```
```sh
systemctl enable wgui.{path,service}
systemctl start wgui.{path,service}
```
### openrc
Create and `chmod +x` /usr/local/bin/wgui
```
```sh
cd /usr/local/bin/
cat << EOF > wgui
#!/bin/sh
wg-quick down wg0
wg-quick up wg0
EOF
chmod +x wgui
```
Create and `chmod +x` /etc/init.d/wgui
```
```sh
cd /etc/init.d/
cat << EOF > wgui
#!/sbin/openrc-run
command=/sbin/inotifyd
command_args="/usr/local/bin/wgui /etc/wireguard/wg0.conf:w"
pidfile=/run/${RC_SVCNAME}.pid
command_background=yes
EOF
chmod +x wgui
```
Apply it
```
```sh
rc-service wgui start
rc-update add wgui default
```
### docker
@ -190,30 +208,34 @@ These settings can also pick up changes to Wireguard Config File Path, after res
Go to the project root directory and run the following command:
```
```sh
docker build -t wireguard-ui .
```
### Build binary file
Prepare the assets directory
```
```sh
./prepare_assets.sh
```
Then you can embed resources by generating Go source code
```
```sh
rice embed-go
go build -o wireguard-ui
```
Or, append resources to executable as zip file
```
```sh
go build -o wireguard-ui
rice append --exec wireguard-ui
```
## Screenshot