The easiest way to run wg-ui is using the container image. To test it, run:
docker run --rm -it --privileged --entrypoint "/wireguard-ui" -v /tmp/wireguard-ui:/data -p 8080:8080 -p 5555:5555 embarkstudios/wireguard-ui:latest --data-dir=/data --log-level=debug
When running in production, we recommend using the latest release as opposed to
Important to know is that you need to have WireGuard installed on the machine in order for this to work, as this is 'just' a UI to manage WireGuard configs.
You can configure wg-ui using commandline flags or environment variables. To see all available flags run:
docker run --rm -it embarkstudios/wireguard-ui:latest -h ./wireguard-ui -h
You can alternatively specify each flag through an environment variable of the form
<FLAG_NAME> is replaced with the flag name transformed to
docker run --rm -it embarkstudios/wireguard-ui:latest --log-level=debug
docker run --rm -it -e WIREGUARD_UI_LOG_LEVEL=debug embarkstudios/wireguard-ui:latest
are the same.
There are two ways to run wg-ui today, you can run it with kernel module installed on your host which is the best way to do it if you want performance.
docker pull embarkstudios/wireguard-ui:latest
If you however do not have the possibility or interest in having kernel module loaded on your host, there is now a solution for that using a docker image based on wireguard-go. Keep in mind that this runs in userspace and not in kernel module.
docker pull embarkstudios/wireguard-ui:userspace
Both images are built for
linux/arm/v7. If you would need it for any other platform you can build wg-ui binaries with help from the documentation.
You need to have WireGuard installed on the machine running
Unless you use the userspace version with docker you're required to have WireGuard installed on your host machine.
Install latest version of Go from (https://golang.org/dl/)
sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin export GOPATH=$HOME/go
sudo apt-get install curl software-properties-common curl -sL https://deb.nodesource.com/setup_12.x | sudo bash - sudo apt-get install nodejs
git clone https://github.com/EmbarkStudios/wg-ui.git && cd wg-ui
make ui make assets make build
npm install --prefix=ui npm run --prefix=ui dev
make build sudo ./bin/wireguard-ui --log-level=debug --dev-ui-server http://localhost:5000
We welcome community contributions to this project.
Please read our Contributor Guide for more information on how to get started.
Licensed under either of
at your option.