06e55c441e3a128cde9f434094aeede1d3117313
ntfywui (Go) – Webinterface für ntfy User/ACL/Token Verwaltung
Dieses Projekt stellt ein sicheres Webinterface bereit, um die ntfy CLI-Administration (Users, ACL/Access, Tokens) bequem im Browser zu machen.
- Golang, Standardbibliothek-only (keine externen deps)
- Arbeitet gegen die lokale ntfy Auth-DB über die ntfy CLI (im Container enthalten)
- CSRF-Schutz, Secure Headers (CSP), verschlüsselte Sessions (AES-GCM), Rate-Limit
- WebUI-Admins separat von ntfy-Users (inkl. optionalem TOTP-2FA)
- Audit Log (JSONL)
Quickstart (Docker Compose)
.envanlegen:
cp .env.example .env
# SECRET erzeugen (Beispiel): openssl rand -base64 48
- Stelle sicher, dass
/etc/ntfy/server.ymlAuthentication aktiv hat, z.B.:
auth-file: "/var/lib/ntfy/user.db"
auth-default-access: "deny-all"
- Start:
docker compose up -d --build
- ntfy: http://localhost:8080
- ntfywui: http://localhost:8090
Wichtige Hinweise (Sicherheit)
- NTFYWUI_SECRET ist Pflicht (>=32 Bytes; base64 empfohlen).
- Setze
NTFYWUI_COOKIE_SECURE=true(Default). Für reines HTTP-Lab ggf.false. - Wenn du einen Reverse Proxy davor hast, setze
NTFYWUI_TRUST_PROXYnur auf deine Proxy-CIDRs, damitX-Forwarded-Fornicht spoofbar ist. - Vergib WebUI-Admin-Rechte sparsam:
viewer: read-only (Users anzeigen)operator: Users/ACL/Tokens verwaltenadmin: zusätzlich Admins/Audit verwalten
Konfiguration (Env/Flags)
NTFYWUI_LISTEN(Default:8080)NTFYWUI_BASE_PATH(z.B./ntfywui)NTFYWUI_DATA_DIR(Default/data) –admins.json,audit.jsonlNTFYWUI_SECRET(required)NTFYWUI_COOKIE_SECURE(Defaulttrue)NTFYWUI_TRUST_PROXY(CIDRs, z.B.10.0.0.0/8,172.16.0.0/12)NTFYWUI_NTFY_BIN(Default/usr/bin/ntfy)NTFYWUI_NTFY_CONFIG(Default/etc/ntfy/server.yml)NTFYWUI_NTFY_TIMEOUT(Default10s)- Bootstrap:
NTFYWUI_BOOTSTRAP_USERNTFYWUI_BOOTSTRAP_PASS
Limitierungen
- Das UI parst die Textausgabe von
ntfy user list/ntfy token listbest-effort. - Für sehr große Auth-DBs kann
Audit Tail(einfaches File-Read) angepasst werden.
Lizenz
MIT – mach damit was du willst.
Languages
Go
73%
HTML
20.8%
CSS
5.1%
Dockerfile
1.1%