eeb6174de0
- 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
72 lines
2.3 KiB
Markdown
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
|