Files
nexus/phases/deployment.md
T
bao eeb6174de0 Initial commit: Nexus Mission Control Platform
- ASP.NET Core 10 Backend (JWT Auth, Agent config API)
- Vue 3 Frontend (Dashboard, Team, Agents, Config Editor)
- PostgreSQL Database
- Docker Compose setup
- Mission Control Dashboard redesign
2026-06-09 16:31:56 +02:00

2.3 KiB

Deployment

Letzte Aktualisierung: 2026-06-09 Status: Deployment abgeschlossen Live-URL: https://nexus.noveria.net

Ziel

Nach Phase 1 soll das Mission-Control-Board deployt und die Infrastruktur so gesetzt sein, dass Bao direkt draufkommen kann.

Secrets und Konfiguration

  • .env.template mit allen erforderlichen Variablen erstellt
  • Produktions-.env mit starken, getrennten Secrets angelegt
  • Migration des Produktionsstacks getestet

Build-Anleitung (lokal oder in CI)

Die folgenden Befehle sind auf dem Build-System auszuführen. Vor dem Build müssen die Secrets in .env gesetzt sein.

# 1. Backend veröffentlichen
cd backend
dotnet publish -c Release -o dist

# 2. Frontend bauen (pnpm preferred)
cd ../frontend
pnpm install
pnpm build
# └─ Output: frontend/dist/ (statisch auslieferbar)

# 3. Docker-Stack starten (wenn compose verwendet wird)
cd ..
docker compose up -d --build

Die Container holen sich ihre Umgebungsvariablen aus der .env im Projektstamm.
Stelle sicher, dass .env existiert und alle ***-Platzhalter ersetzt sind.

Deployment-Plan

  1. .env-Datei auf dem VPS anlegen (alle Secrets generieren/setzen)
  2. Backup vor produktiven Infrastrukturarbeiten
  3. Docker-Stack auf dem VPS deployen
  4. Datenbankmigration läuft automatisch beim Start (via MigrateAsync)
  5. Nginx Proxy Manager und nexus.noveria.net verbinden
  6. HTTPS, Header, Cookies und externe Erreichbarkeit validieren

Abgeschlossene Deployment-Arbeit

  • Produktions-.env mit starken, getrennten Secrets angelegt (2026-06-08)
  • Datenbankmigration und kompletter Stack per Docker-Compose deployt
  • Nexus auf dem VPS deployt (Docker Compose)
  • Nginx mit Let's Encrypt SSL fuer nexus.noveria.net konfiguriert
  • HTTPS, Security-Header (HSTS, X-Content-Type-Options, X-Frame-Options), Cookies validiert
  • Externe Erreichbarkeit bestaetigt (2026-06-09)

Verifizierung (2026-06-09)

  • https://nexus.noveria.net → 200 OK, SPA geladen
  • /health → Healthy
  • /dashboard, /login → SPA-Routing korrekt
  • /api/v1/operations/snapshot → 401 Unauthorized (Auth-Schutz aktiv)
  • Let's Encrypt TLS-Zertifikat aktiv
  • Nginx-Proxy → 127.0.0.1:18880

Offene Arbeit

  • Backup-Strategie fuer Produktionsdaten definieren
  • Docker-Logs und Container-Health-Monitoring einrichten
  • .gitignore final pruefen