Adapt installers to upstream wireguard-ui build (Go+embed, yarn assets)

Upstream builds a single static binary (main.go at repo root, no
cmd/... subpackage) that go:embeds templates/ and assets/ at compile
time, and uses a relative ./db directory (jsondb) instead of SQLite -
so WorkingDirectory in the systemd unit now matters for the DB path,
not for template/static serving like before.

Frontend assets (admin-lte, jquery plugins) need yarn + prepare_assets.sh
before go build, so all installers now also install nodejs/npm/yarn and
run prepare_assets.sh when assets/dist is missing or package.json changed.

Binary is now literally named "wireguard-ui" (matches upstream), listens
on 0.0.0.0:5000 by default. systemd unit rewritten accordingly with
WorkingDirectory=/var/lib/wireguard-ui-multi.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
sysops
2026-07-10 18:38:02 +02:00
co-authored by Claude Sonnet 5
parent 94f0e69676
commit e5c0a5888f
6 changed files with 156 additions and 58 deletions
+54 -1
View File
@@ -1,6 +1,59 @@
![](https://github.com/ngoduykhanh/wireguard-ui/workflows/wireguard-ui%20build%20release/badge.svg)
# wireguard-ui
# wireguard-ui-multi
Fork von [ngoduykhanh/wireguard-ui](https://github.com/ngoduykhanh/wireguard-ui),
Basis für eine native Multi-Server-Erweiterung (siehe `CLAUDE.md`). Läuft ohne
Docker direkt als systemd-Service.
## Schnellinstallation (Einzeiler)
Auf einem frischen Debian/Ubuntu-Host (als root):
```bash
curl -fsSL https://gitea.perlbach24.de/scripte/wireguard-ui-multi/raw/branch/main/bootstrap.sh | bash
```
Installiert Abhängigkeiten (Go, Node/yarn, wireguard-tools, nftables), baut
Frontend-Assets + Binary, installiert nach `/usr/local/bin/wireguard-ui` und
richtet den systemd-Service `wireguard-ui-multi.service` ein (nicht
automatisch gestartet). Danach:
```bash
sudo systemctl enable --now wireguard-ui-multi.service
```
UI standardmäßig unter `http://<host>:5000` erreichbar. Default-Login
`admin`/`admin` — sofort ändern.
### Hardware-Anforderungen
- Betrieb: 1 vCPU, 128-256 MB RAM reichen (reines Go-Binary, JSON-Dateidatenbank)
- Build aus Quellcode: Go-Toolchain + Node/yarn (Frontend-Assets), kein cgo/SQLite
mehr nötig, daher deutlich genügsamer als frühere from-scratch-Version
### Update
```bash
cd /opt/wireguard-ui-multi-src
sudo ./update.sh
```
Holt neuesten Code, baut Frontend-Assets neu (falls `package.json` sich
geändert hat) und Binary, installiert neu, startet den Dienst neu.
### Proxmox LXC
```bash
sudo ./scripts/proxmox-install.sh --vmid 200 --hostname wireguard-ui-multi
```
Legt privilegierten LXC an (CAP_NET_ADMIN + `/dev/net/tun` Passthrough nötig
für WireGuard), installiert alles hinein.
---
# wireguard-ui (Original-Upstream-Dokumentation)
A web user interface to manage your WireGuard setup.