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:
co-authored by
Claude Sonnet 5
parent
94f0e69676
commit
e5c0a5888f
@@ -1,6 +1,59 @@
|
||||

|
||||
|
||||
# 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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user