Markus Viitamäki 9d93f4092c Include building ui into dockerfile (#62)
* Include building ui into docker file

* Specify docker.io for image

* removing old dist files

* update gitignore to skip dist folders

* adding build to arguments as the files are no longer in repo

* remove bindfs to figure out the problem later

* running all instead of just specified

* removed bindfs action

* disabling error check for now until we move building ui assets to action

* added npm install & run to pull_request yaml

* build ui folder

* --prefix on install deps

* --prefix on install deps

* re-added not checking generated files

Co-authored-by: Fredrik Grönqvist <fredrik.gronqvist@embark-studios.com>
2020-04-20 03:51:29 +02:00
2019-10-03 15:51:36 +02:00
2020-04-14 21:04:43 +02:00

WireGuard UI

Build Status Embark Contributor Covenant

A basic, self-contained management service for WireGuard with a self-serve web UI.

Features

  • Self-serve and web based
  • QR-Code for convenient mobile client configuration
  • Optional multi-user support behind an authenticating proxy
  • Zero external dependencies - just a single binary using the wireguard kernel module
  • Container-first deployment

Screenshot

Running

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 latest.

Configuration

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

You can alternatively specify each flag through an environment variable of the form WIREGUARD_UI_<FLAG_NAME>, where <FLAG_NAME> is replaced with the flag name transformed to CONSTANT_CASE, e.g.

docker run --rm -it embarkstudios/wireguard-ui:latest --log-level=debug

and

docker run --rm -it -e WIREGUARD_UI_LOG_LEVEL=debug embarkstudios/wireguard-ui:latest

are the same.

Developing

Start frontend server

npm install --prefix=ui
npm run --prefix=ui dev

Use frontend server when running the server

go get -u github.com/go-bindata/go-bindata/...
go get github.com/elazarl/go-bindata-assetfs/...
go-bindata-assetfs -prefix ui/dist ui/dist
go build .
sudo ./wireguard-ui --log-level=debug --dev-ui-server http://localhost:5000

Contributing

We welcome community contributions to this project.

Please read our Contributor Guide for more information on how to get started.

License

Licensed under either of

at your option.

FOSSA Status

S
Description
WireGuard Web UI for self-serve client configurations, with optional auth.
Readme 1.1 MiB
Languages
Go 43.7%
Svelte 28.8%
JavaScript 19%
Shell 2.4%
Dockerfile 2.1%
Other 4%