# 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 - [x] `.env.template` mit allen erforderlichen Variablen erstellt - [x] Produktions-`.env` mit starken, getrennten Secrets angelegt - [x] 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. ```bash # 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 - [x] Produktions-`.env` mit starken, getrennten Secrets angelegt (2026-06-08) - [x] Datenbankmigration und kompletter Stack per Docker-Compose deployt - [x] Nexus auf dem VPS deployt (Docker Compose) - [x] Nginx mit Let's Encrypt SSL fuer `nexus.noveria.net` konfiguriert - [x] HTTPS, Security-Header (HSTS, X-Content-Type-Options, X-Frame-Options), Cookies validiert - [x] 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