You have found the easiest way to install & manage WireGuard on any Linux host!
Issue: If add-on will not start, make sure WG_POST_UP, WG_POST_DOWN is set to "" in the YAML or blank in the UI. There was a error after a recent update.
Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!
This addon is based on the docker image. The src has been slightly modified from WeeJeWel/wg-easy to allow ingress and custom Wireguard config location. I rehost this code locally so rebuilding automatically pulls in the latest version of wireguard but not any changes to the UI from WeeJeWel/wg-easy.
- All-in-one: WireGuard + Web UI.
- Ingress working
- Easy installation, simple to use.
- List, create, edit, delete, enable & disable clients.
- Show a client's QR code.
- Download a client's configuration file.
- Statistics for which clients are connected.
- Tx/Rx charts for each connected client.
- Gravatar support.
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Hass.io add-on.
- Add my Hass.io add-ons repository to your Hass.io instance.
- Install this add-on.
- Edit add-on config as needed. Only WG_HOST must be changed to your external IP address
- Forward WG_CONFIG_PORT (usually 51820) to your homeassistat IP from your router
- Click the
Save
button to store your configuration. - Make the directory /ssl/wgeasy to store your configuration. (make different directory if change WGPATH in the addon-on config)
- Start the add-on.
- Check the logs of the add-on to see if everything went well.
- Open WebUI should load via ingress
- Make the client configs, scan the QR codes or download the config file.
- If change settings, you may need to remake the client configs, but it is super simple now!
Env | Default | Example | Description |
---|---|---|---|
PASSWORD |
changeme |
foobar123 |
When set, requires a password when logging in to the Web UI. |
WG_HOST |
- | vpn.myserver.com |
The public hostname of your VPN server. |
WG_CONFIG_PORT |
51820 |
12345 |
The public UDP port of your VPN server. If you change it, you must also update the exposed port in the network configuration |
WG_DEVICE |
eth0 |
eno1 |
Ethernet device the wireguard traffic should be forwarded through. Should not be needed |
WG_PATH |
/ssl/wgeasy |
/share/wgeasy |
Persistant storage location on homeassistant |
WG_PERSISTENT_KEEPALIVE |
0 |
25 |
Value in seconds to keep the "connection" open. |
WG_DEFAULT_ADDRESS |
10.8.0.x |
10.6.0.x |
Clients IP address range. |
WG_DEFAULT_DNS |
1.1.1.1 |
8.8.8.8, 8.8.4.4 |
DNS server clients will use. |
WG_ALLOWED_IPS |
0.0.0.0/0, ::/0 |
192.168.15.0/24, 10.0.1.0/24 |
Allowed IPs clients will use. |
WG_POST_UP |
... |
iptables ... |
See config.js for the default value. |
WG_POST_DOWN |
... |
iptables ... |
See config.js for the default value. |
If you change
WG_CONFIG_PORT
, make sure to also change the exposed port.
If want to use Adguard Home Addon https://github.com/hassio-addons/addon-wireguard , set
WG_DEFAULT_DNS
to 172.30.32.1