Ahmad-2785 / wireadmin

🐉 A more efficient way to run WireGuard VPN with an easy-to-use web-based admin UI.

Home Page:https://hub.docker.com/r/litehex/wireadmin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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

About

🐉 A more efficient way to run WireGuard VPN with an easy-to-use web-based admin UI.

https://hub.docker.com/r/litehex/wireadmin

License:GNU General Public License v3.0


Languages

Language:TypeScript 45.8%Language:Svelte 45.7%Language:Shell 2.8%Language:JavaScript 2.4%Language:CSS 1.5%Language:Dockerfile 1.5%Language:HTML 0.3%