wireadmin/README.md
Shahrad Elahi 84284360a2 fix
2023-12-11 05:13:05 +03:30

3.8 KiB

WireGuard GUI (Easy Admin UI)

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

4. Enjoy 🎉

Please feel free to open an issue if you have any questions or suggestions.

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") ✔️

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