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

72 lines
2.3 KiB
Markdown

# 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