Sign inSign up

litehex/wireadmin

By litehex

•Updated over 2 years ago

Run multiple instance of WireGuard VPN using an easy-to-use web-based admin UI.

Image
0

1.5K

litehex/wireadmin repository overview

⁠WireGuard GUI (Easy Admin UI)

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

OptionDescriptionOptional
WG_HOSTThe public IP address of the WireGuard server.
UI_PASSWORDThe password for the admin UI.
ORIGINIn 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_BRIDGESSet 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

Tag summary

Content type

Image

Digest

sha256:4c39471c8…

Size

100.1 MB

Last updated

almost 3 years ago

docker pull litehex/wireadmin