- Changed NODE_ENV from development to production in .env.example for production readiness. - Updated WEBUI_URL to point to the new public URL behind Traefik. - Added internal and external networks in docker-compose.yml for improved service isolation and routing. - Removed direct port exposure for the WebUI, ensuring it is only accessible through Traefik. - Refactored landing and login pages in the WebUI to streamline navigation and error handling, redirecting users appropriately based on session status.
3.0 KiB
3.0 KiB
Phase 6 – WebUI-Fundament (Status: abgeschlossen, manuell bestätigt)
- OAuth/Sessions, Settings-Framework, Layout, Modul-Toggles, Access-Rules
- Login manuell bestätigt
Phase 7 – WebUI Modul-Seiten + Owner-Panel (Status: abgeschlossen, manuell bestätigt)
Abgeschlossen
- Alle Modul-Dashboard-Seiten, Commands-Seite, Overview-Aktivität
- Owner-Panel (
/owner: Übersicht, Guilds, Users, Flags, Presence, Team, Jobs, Changelog, Audit) - Prisma
20260722190000_phase7_owner, Shared Zod (dashboard.ts,owner.ts) - BullMQ WebUI↔Bot, Presence-/Wartungsmodus-Anbindung
- Manuell bestätigt (User-Freigabe)
Phase 8 – Landing, Status, Rechtsseiten (Status: abgeschlossen, manuell bestätigt)
Abgeschlossen
- Landing
/, Status/status, Rechtsseiten, Public APIs, Core-Commands,docs/verification.md - Manuell bestätigt (User-Freigabe)
Deploy-Branch (deploy) – Traefik + Dashboard-Domain
Abgeschlossen (Code auf Branch deploy; main unverändert)
- Traefik-Vollstack: Compose-Netz
traefik-network(external) +internal - WebUI hinter Traefik: Host
dashboard.nexumi.de, Entrypointwebsecure,certresolver=letsencrypt - Host-Port
3000entfernt; nur Traefik exponiert die WebUI WEBUI_URL=https://dashboard.nexumi.de(OAuth-Callback:/api/auth/callback)- Marketing-Landing archiviert unter
apps/webui/src/archived/landing-page.tsx /zeigt Login;/loginleitet auf/weiter (Query erhalten)- SPEC-Abweichung (bewusst): öffentliche Landing später extern auf
nexumi.de; Dashboard unter Subdomain
Manuell testen (Deploy)
- DNS
dashboard.nexumi.de→ Traefik-Host - Discord OAuth Redirect:
https://dashboard.nexumi.de/api/auth/callback docker compose up -d --build(Netztraefik-networkmuss existieren)- TLS-Zertifikat (Resolver-Name ggf. an Traefik anpassen)
- Login
/→ Dashboard; Session-CookieSecure
Post-Phase – Premium + DSGVO (Status: implementiert, manuelle Tests offen)
Abgeschlossen (Code)
- Premium:
PremiumTierConfig, Guild-/User-Zuweisung, Owner-UI/owner/premium - Limits enforced (Tags/Feeds/Backups) in Bot + WebUI
- DSGVO:
/privacy,/gdpr delete confirm:true(Löschung/Anonymisierung +GdprDeletionLog) - Log-Retention:
LoggingConfig.retentionDays+ täglicher Jobretention/purgeExpiredLogs - Snipe standardmäßig aus (
GuildSettings.snipeEnabled, Toggle in Allgemeine Einstellungen) - Migration
20260722200000_premium_gdpr
Manuell testen
- Owner
/owner/premium: Limits speichern, Guild PREMIUM zuweisen - Free-Limit: mehr Tags/Feeds/Backups als Free-Cap → Fehler
/privacyund/gdpr delete confirm:true- Logging-Retention im Dashboard setzen
- Snipe: default aus; nach Aktivierung in Einstellungen nutzbar
Bewusst offen
- Musik- und KI-Modul (nur auf Zuruf)
- Premium-Zahlungsanbindung
- Externe Marketing-Landing auf
nexumi.de
Nächster geplanter Schritt
- Deploy auf Traefik-Server manuell verifizieren; danach ggf.
deploy→mainmergen (nur auf Freigabe).