Go to file
2024-01-08 13:22:33 +03:30
.github/workflows chore: add gh action for lint and fix format with prettier 2024-01-08 13:22:33 +03:30
assets update shots 2023-12-22 01:04:25 +03:30
bin add command for reading logs. Usage: logs <service> 2023-12-19 13:28:29 +03:30
config update 2024-01-08 13:12:52 +03:30
web chore: add gh action for lint and fix format with prettier 2024-01-08 13:22:33 +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
docker-compose.dev.yml fix(chore): code split 2023-12-19 13:21:23 +03:30
docker-compose.yml
docker-entrypoint.sh update 2024-01-08 13:12:52 +03:30
Dockerfile update 2024-01-08 13:12:52 +03:30
Dockerfile-Dev update 2024-01-08 13:12:52 +03:30
LICENSE
package.json update 2024-01-08 13:12:52 +03:30
pnpm-lock.yaml update 2024-01-08 13:12:52 +03:30
README.md update shots 2023-12-22 01:04:25 +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.

Requirements

  • A host with a kernel that supports WireGuard.
  • A host with Docker installed.

Installation

1. Install Docker

To install Docker, go to the official documentation and install a version that meets your environment's requirements.

2. Persistent Data

WireAdmin uses redis to store the WireGuard configurations and their data 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. Run WireAdmin

Install WireAdmin using the command line:

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

Please note that the port 3000 is for the WebUI, and it's up to you to remove it after configuring the Servers/Peers.

IMPORTANT: When creating each server, ensure that you add the port exposure through Docker. (The port 51820 is added as an example.)

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.
ORIGIN In case you want to access the web-admin remotely, you must set this to the host you are using, for example, http://<hostname>: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

If you have any questions, bug reports, and feature requests, please create an issue on GitHub.

Support the Project

Seriously, this project is free and open-source, and all I ask for as support is for you to give a star to the repository.

License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details