Go to file
Shahrad Elahi ec152ca3a2 docs
2024-04-20 23:55:11 +03:30
.github/workflows chore: fix lint scripts (#4) 2024-04-20 23:36:45 +03:30
assets update shots 2023-12-22 01:04:25 +03:30
bin fix 2024-04-01 17:04:50 +03:30
config Fix: the issue of regenerating the config file without filling the placeholders. 2024-02-15 11:12:05 +03:30
web fix 2024-04-01 17:59:18 +03:30
.dockerignore Update deps and add action for publishing on dockerhub 2023-12-01 18:38:50 +03:30
.gitignore init with Bun + SvelteKit 2023-11-02 14:34:25 +03:30
.prettierignore chore: fix lint scripts (#4) 2024-04-20 23:36:45 +03:30
.prettierrc chore: fix lint scripts (#4) 2024-04-20 23:36:45 +03:30
docker-compose.dev.yml chore: fix lint scripts (#4) 2024-04-20 23:36:45 +03:30
docker-compose.yml chore: fix lint scripts (#4) 2024-04-20 23:36:45 +03:30
docker-entrypoint.sh fix 2024-04-01 17:04:50 +03:30
Dockerfile fix 2024-04-01 17:59:18 +03:30
Dockerfile-Dev fix 2024-04-01 17:59:18 +03:30
LICENSE Updates dependencies and License from MIT to GPLv3 2023-10-08 11:47:00 +03:30
package.json chore: fix lint scripts (#4) 2024-04-20 23:36:45 +03:30
pnpm-lock.yaml chore: fix lint scripts (#4) 2024-04-20 23:36:45 +03:30
README.md docs 2024-04-20 23:55:11 +03:30

WireGuard GUI (Easy Admin UI)

Screenshot

screenshot screenshot screenshot

Features

  • Easy-to-use web-based admin UI
  • Support for multiple users and servers
  • Support for Tor for anonymized connections
  • List, create, delete, or modify any server or user
  • Scan QR codes or easily download the client configurations.

Installation

1. Prerequisites

2. Persistent Data

WireAdmin store configurations at /data. It's important to mount a volume at this location to ensure that your data is not lost during container restarts or updates.

Create a docker volume

docker volume create wireadmin-data --driver local

3. Download Image

Build from source

git clone https://github.com/shahradelahi/wireadmin
docker buildx build --tag litehex/wireadmin .
docker pull litehex/wireadmin

4. Run

When creating each server, ensure that you add the port exposure through Docker. In the below command, the port 51820 is added for the WireGuard server.

NOTE: The port 3000 is for the WebUI, and can be changed with PORT environment variable, but for security reasons, it's recommended to NOT expose any kind of WebUI to the public. It's up to you to remove it after configuring the Servers/Peers.

docker run --rm \
 -e WG_HOST=<YOUR_SERVER_IP> \
 -e UI_PASSWORD=<ADMIN_PASSWORD> \
 -p "3000:3000/tcp" \
 -p "51820:51820/udp" \
 -v "wireadmin-data:/data" \
 --cap-add=NET_ADMIN \
 --cap-add=SYS_MODULE \
 --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
 --sysctl="net.ipv4.ip_forward=1" \
  litehex/wireadmin

Environment Options

These options can be configured by setting environment variables using -e KEY="VALUE" in the docker run command.

Option Description Optional
WG_HOST The public IP address of the WireGuard server.
UI_PASSWORD The password for the admin UI.
HOST The hostname for the WebUI. (default: 127.0.0.1) ✔️
PORT The port for the WebUI. (default: 3000) ✔️
TOR_USE_BRIDGES Set this to 1 and then mount the bridges file at /etc/torrc.d/bridges.conf. ✔️
TOR_* The Torrc proxy configuration. (e.g. SocksPort as TOR_SOCKSPORT="9050") ✔️

Reporting

For bug reports, and feature requests, please create an issue on GitHub.

License

GPL-3.0 © Shahrad Elahi