wg-easy/README.md

70 lines
2.1 KiB
Markdown
Raw Normal View History

2021-05-23 18:25:14 +08:00
# WireGuard Easy
2021-05-23 22:54:48 +08:00
[![Build & Publish Docker Image to Docker Hub](https://github.com/WeeJeWel/wg-easy/actions/workflows/deploy.yml/badge.svg?branch=production)](https://github.com/WeeJeWel/wg-easy/actions/workflows/deploy.yml)
You have found the easiest way to install & manage WireGuard on any Linux host!
2021-05-23 22:56:29 +08:00
![](./assets/screenshot.png =702x510)
2021-05-23 22:54:48 +08:00
## Features
* All-in-one: WireGuard + Web UI
* A beautiful management Web UI
* Easy installation
* List, create, delete, enable & disable clients
* Show a client's QR code
* Download a client's configuration file
* Statistics for which clients are connected
* Gravatar support 😏
2021-05-23 21:55:50 +08:00
## Installation
### 1. Install Docker
2021-05-23 22:24:25 +08:00
If you haven't installed Docker yet, install it by running:
```bash
$ 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.
2021-05-23 18:25:14 +08:00
```bash
2021-05-23 21:59:50 +08:00
$ mkdir ~/.wg-easy
$ cd ~/.wg-easy
2021-05-23 22:04:37 +08:00
$ wget https://raw.githubusercontent.com/WeeJeWel/wg-easy/master/docker-compose.yml
$ vim docker-compose.yml
2021-05-23 18:25:14 +08:00
```
2021-05-23 22:04:37 +08:00
Change `WG_HOST=raspberrypi.local` to your server's public address, e.g. `WG_HOST=vpn.mydomain.com`.
2021-05-23 21:55:50 +08:00
Optionally, set a Web UI password by uncommenting `PASSWORD=foobar123` and change the password.
2021-05-23 22:24:25 +08:00
### 3. Run WireGuard
Finally, run WireGuard. It will automatically start after a reboot.
2021-05-23 18:25:14 +08:00
2021-05-23 21:55:50 +08:00
```bash
2021-05-23 22:24:25 +08:00
$ docker-compose up
2021-05-23 21:55:50 +08:00
```
2021-05-23 18:25:14 +08:00
2021-05-23 21:55:50 +08:00
The Web UI will be available on `http://0.0.0.0:51821`. You can create new clients there.
2021-05-23 18:25:14 +08:00
## Options
2021-05-23 21:55:50 +08:00
These options can be configured in `docker-compose.yml` under `environment`.
2021-05-23 18:25:14 +08:00
| Env | Default | Example | Description |
| - | - | - | - |
2021-05-23 21:55:50 +08:00
| `PASSWORD` | - | `foobar123` | When set, requires a password when logging in to the Web UI. |
2021-05-23 18:25:14 +08:00
| `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 |
2021-05-23 21:55:50 +08:00
> If you change `WG_PORT`, make sure to also change the exposed port.