The easiest way to run WireGuard VPN + Web-based Admin UI.
Go to file
Fastidious ef7570777d
Binding web address
Adding the ability to change the binding address for the web server (0.0.0.0, open to everyone, or 127.0.0.1, for example, for proxying).
2021-07-15 06:57:22 -04:00
.github/workflows fix 2021-07-13 21:55:12 +02:00
assets wip 2021-05-23 16:54:48 +02:00
docs Create changelog.json 2021-07-13 21:11:45 +02:00
src Binding web address 2021-07-15 06:57:22 -04:00
.gitignore allow edit of name + address 2021-07-13 20:51:23 +02:00
Dockerfile Update Dockerfile 2021-06-02 12:29:42 +02:00
LICENSE.md add license 2021-07-13 21:45:52 +02:00
README.md wip 2021-07-13 21:39:45 +02:00
docker-compose.dev.yml allow edit of name + address 2021-07-13 20:51:23 +02:00
docker-compose.yml add WG_ALLOWED_IPS; https://github.com/WeeJeWel/wg-easy/issues/19 2021-06-15 17:58:58 +02:00
package.json wip 2021-07-13 21:39:45 +02:00

README.md

WireGuard Easy

Build & Publish Docker Image to Docker Hub Lint Docker Docker Sponsor

You have found the easiest way to install & manage WireGuard on any Linux host!

Features

  • All-in-one: WireGuard + Web UI.
  • 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.
  • Gravatar support.

Requirements

  • A host with a kernel that supports WireGuard (all modern kernels).

Installation

1. Install Docker

If you haven't installed Docker yet, install it by running:

$ curl -sSL https://get.docker.com | sh
$ sudo sh get-docker.sh
$ sudo usermod -aG docker $(whoami)
$ bash

2. Configure WireGuard

Run these commands to prepare and configure WireGuard.

$ mkdir ~/.wg-easy
$ cd ~/.wg-easy
$ wget https://raw.githubusercontent.com/WeeJeWel/wg-easy/master/docker-compose.yml
$ vim docker-compose.yml

Change WG_HOST=raspberrypi.local to your server's public address, e.g. WG_HOST=vpn.mydomain.com.

Optionally, set a Web UI password by uncommenting PASSWORD=foobar123 and change the password.

By default, any WireGuard client will have access to the Web UI, unless you set a password.

3. Run WireGuard

Finally, run WireGuard. It will automatically start after a reboot.

$ docker-compose up --detach

The Web UI will be available on http://0.0.0.0:51821. You can create new clients there.

Options

These options can be configured in docker-compose.yml under environment.

Env Default Example Description
PASSWORD - 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_PORT 51820 51820 The public UDP port of your VPN server
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

If you change WG_PORT, make sure to also change the exposed port.

Updating

To update to the latest version, run:

docker-compose down
docker-compose pull
docker-compose up --detach --remove-orphans
docker image prune