Warning
You are viewing the README of the pre-release of v15. If you want to setup wg-easy right now. Read the README in the production branch here: README or here for the last nightly: README
You have found the easiest way to install & manage WireGuard on any Linux host!
- 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.
- Tx/Rx charts for each connected client.
- Gravatar support.
- Automatic Light / Dark Mode
- Multilanguage Support
- One Time Links
- Client Expiration
- Prometheus metrics support
- IPv6 support
- CIDR support
Note
To better manage documentation for this project, it has its own site here: https://wg-easy.github.io/wg-easy/latest
Warning
As the Docs are still in Pre-release, you can access them here https://wg-easy.github.io/wg-easy/Pre-release
Note
If you want to migrate from the old version to the new version, you can find the migration guide here: Migration Guide
- A host with a kernel that supports WireGuard (all modern kernels).
- A host with Docker installed.
💡 We follow semantic versioning (semver)
We offer multiple Docker image tags to suit your needs. The table below is in a particular order, with the first tag being the most recommended:
tag | Branch | Example | Description |
---|---|---|---|
15 |
latest minor for that major tag | ghcr.io/wg-easy/wg-easy:15 |
latest features for specific major versions, no breaking changes |
latest |
latest tag | ghcr.io/wg-easy/wg-easy:latest or ghcr.io/wg-easy/wg-easy |
stable as possible get bug fixes quickly when needed, see Releases for more information. |
15.0 |
latest patch for that minor tag | ghcr.io/wg-easy/wg-easy:15.0 |
latest patches for specific minor version |
15.0.0 |
specific tag | ghcr.io/wg-easy/wg-easy:15.0.0 |
specific release, don't use this as this will not get updated |
nightly |
master |
ghcr.io/wg-easy/wg-easy:nightly |
mostly unstable gets frequent package and code updates, deployed against master . |
development |
pull requests | ghcr.io/wg-easy/wg-easy:development |
used for development, testing code from PRs before landing into master . |
If you haven't installed Docker yet, install it by running as root:
curl -sSL https://get.docker.com | sh
exit
And log in again.
The easiest way to run WireGuard Easy is with Docker Compose.
Just download docker-compose.yml
, make necessary adjustments and
execute sudo docker compose up -d
.
Now setup a reverse proxy to be able to access the Web UI from the internet.
If you want to access the Web UI over HTTP, change the env var INSECURE
to true
. This is not recommended. Only use this for testing
Are you enjoying this project? Consider donating.
Founder: Buy Emile a beer! 🍻
Maintainer: Buy kaaax0815 a coffee! ☕
- Docker
- Node LTS & corepack enabled
- Visual Studio Code
This starts the development server with docker
pnpm dev
If you add something that should be auto-importable and VSCode complains, run:
cd src
pnpm install
This project is licensed under the AGPL-3.0-only License - see the LICENSE file for details
This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security
"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld