Files
Nexumi/docs/PHASE-TRACKING.md
TheOnlyMace 496a8239a5 Update environment configuration and enhance Docker setup for production deployment
- 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.
2026-07-22 18:53:53 +02:00

3.0 KiB
Raw Blame History

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, Entrypoint websecure, certresolver=letsencrypt
  • Host-Port 3000 entfernt; 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; /login leitet 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 (Netz traefik-network muss existieren)
  • TLS-Zertifikat (Resolver-Name ggf. an Traefik anpassen)
  • Login / → Dashboard; Session-Cookie Secure

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 Job retention/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
  • /privacy und /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. deploymain mergen (nur auf Freigabe).