shahradelahi / wireadmin

πŸ‰ WireGuard VPN Server with an web-based admin UI + TOR

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WireGuard (Easy Admin UI)

CI GPL-3.0 Licensed

Screenshot

screenshot screenshot screenshot

Features

  • Simple and friendly UI
  • Support for multiple users and servers
  • Support for Tor for anonymized connections
  • Server connection statistics
  • List, create, delete, or modify any server or user
  • Create QR codes
  • Easily download the client configurations.
  • Automatic Light/Dark Mode

Installation

1. Prerequisites

2. Docker Image

Build from source (recommended)

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

Pull from Docker Hub

docker pull litehex/wireadmin # OR ghcr.io/shahradelahi/wireadmin

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

4. Run WireAdmin

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.

πŸ’‘ 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 --detach \
 --name wireadmin \
 -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

πŸ’‘ Replace <YOUR_SERVER_IP> with the IP address of your server.

πŸ’‘ Replace <ADMIN_PASSWORD> with the password for the admin UI.

The Web UI will now be available on http://0.0.0.0:3000.

Options

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

Option Description Default Optional
WG_HOST The public IP address of the WireGuard server. -
UI_PASSWORD The password for the admin UI. insecure-password
HOST The hostname for the WebUI. 127.0.0.1 βœ”οΈ
PORT The port for the WebUI. 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_SOCKS_PORT="9050") - βœ”οΈ

Reporting

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

License

GPL-3.0 Β© Shahrad Elahi

About

πŸ‰ WireGuard VPN Server with an web-based admin UI + TOR

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

License:GNU General Public License v3.0


Languages

Language:Svelte 48.2%Language:TypeScript 43.4%Language:Shell 2.8%Language:JavaScript 2.2%Language:Dockerfile 1.8%Language:CSS 1.3%Language:HTML 0.3%