Document remote frontend integration
This commit is contained in:
@@ -183,6 +183,23 @@ curl -s http://localhost:8080/metrics
|
||||
# ReDoc: http://localhost:8080/redoc
|
||||
```
|
||||
|
||||
### 2.7 Getrenntes Frontend-Deployment
|
||||
|
||||
Das NSCT-Frontend darf auf einem anderen Rechner als dieser Backend-Stack laufen.
|
||||
Es benötigt kein gemeinsames Docker-Netzwerk: Der Frontend-Caddy proxyt `/api/*`
|
||||
an den in seinem `.env` gesetzten Backend-Host.
|
||||
|
||||
```env
|
||||
# im Frontend-Repository, ohne URL-Schema und ohne Pfad
|
||||
NSCT_API_UPSTREAM=backend.example.com:8080
|
||||
```
|
||||
|
||||
Erlaube am Backend-Port 8080 nur die IP bzw. das Netz des Frontend-Rechners und
|
||||
prüfe die Erreichbarkeit von dort mit `curl http://backend.example.com:8080/health`.
|
||||
Über nicht vertrauenswürdige Netze ist TLS, ein VPN oder ein zusätzlicher Reverse
|
||||
Proxy erforderlich. Browser greifen dabei nicht direkt auf das Backend zu; CORS
|
||||
für die Browser-Origin ist daher nicht erforderlich.
|
||||
|
||||
---
|
||||
|
||||
## 3. PostgreSQL Setup
|
||||
@@ -1211,4 +1228,4 @@ docker compose exec postgres pg_restore ...
|
||||
# Monitoring
|
||||
docker stats # Resource Usage
|
||||
docker compose ps # Container Status
|
||||
```
|
||||
```
|
||||
|
||||
@@ -91,6 +91,35 @@ curl http://localhost:8080/ready
|
||||
curl http://localhost:8080/providers
|
||||
```
|
||||
|
||||
### 4.3 Frontend auf einem separaten Rechner
|
||||
|
||||
Der Backend-Stack und das NSCT-Frontend benötigen kein gemeinsames Docker-
|
||||
Netzwerk und können auf unterschiedlichen Rechnern laufen. Das Frontend stellt
|
||||
Browser-Anfragen an seinen Same-Origin-Pfad `/api/*`; sein Caddy-Proxy leitet
|
||||
diese an das Backend weiter.
|
||||
|
||||
Auf dem **Frontend-Rechner** wird im Frontend-Repository konfiguriert:
|
||||
|
||||
```env
|
||||
# Host:Port des Backend-Rechners, ohne http:// und ohne /api
|
||||
NSCT_API_UPSTREAM=backend.example.com:8080
|
||||
```
|
||||
|
||||
Auf dem **Backend-Rechner** muss die API von diesem Host erreichbar sein:
|
||||
|
||||
```bash
|
||||
# Vom Frontend-Rechner aus prüfen
|
||||
curl http://backend.example.com:8080/health
|
||||
```
|
||||
|
||||
Die Firewall darf Port 8080 nur für die IP-Adresse oder das private Netz des
|
||||
Frontend-Rechners erlauben. Eine Freigabe für das gesamte Internet ist nicht
|
||||
empfohlen. Werden die Rechner über ein öffentliches oder nicht vertrauenswürdiges
|
||||
Netz verbunden, verwende TLS, ein VPN oder einen abgesicherten Reverse Proxy
|
||||
zwischen Frontend und Backend. Da der Browser ausschließlich mit der
|
||||
Frontend-Domain kommuniziert, ist keine CORS-Freigabe des Backends für Browser-
|
||||
Clients nötig.
|
||||
|
||||
### 4.3 Logs
|
||||
|
||||
```bash
|
||||
@@ -221,4 +250,4 @@ docker push your-registry/nsct:latest
|
||||
- [ ] Logging zu externem System (ELK, Grafana, etc.)
|
||||
- [ ] Backup-Policy für PostgreSQL Volume
|
||||
- [ ] Network Policies für Docker
|
||||
- [ ] Monitoring Alerts (Prometheus + Alertmanager)
|
||||
- [ ] Monitoring Alerts (Prometheus + Alertmanager)
|
||||
|
||||
17
README.md
17
README.md
@@ -66,6 +66,21 @@ curl http://localhost:8080/health
|
||||
Die API ist danach unter `http://localhost:8080` erreichbar.
|
||||
`/docs` zeigt die auto-generierte Swagger-Dokumentation (nur bei `NSCT_DEBUG=true`).
|
||||
|
||||
### Frontend auf einem separaten Rechner
|
||||
|
||||
Das Backend kann unabhängig vom Frontend betrieben werden. Das Frontend leitet
|
||||
seine Same-Origin-Anfragen an `/api/*` per Caddy an diese API weiter. Auf dem
|
||||
Frontend-Rechner wird dazu im Frontend-Repository gesetzt:
|
||||
|
||||
```env
|
||||
NSCT_API_UPSTREAM=backend.example.com:8080
|
||||
```
|
||||
|
||||
Der Backend-Rechner muss Port 8080 ausschließlich für die IP bzw. das Netz des
|
||||
Frontend-Rechners freigeben. Für öffentliche oder nicht vertrauenswürdige Netze
|
||||
soll die Verbindung zwischen den Rechnern über TLS, VPN oder einen abgesicherten
|
||||
Reverse Proxy erfolgen.
|
||||
|
||||
## Projektstruktur
|
||||
|
||||
```
|
||||
@@ -169,4 +184,4 @@ Alle 22 Stages sind abgeschlossen. NSCT ist production-ready:
|
||||
|
||||
## Lizenz
|
||||
|
||||
MIT
|
||||
MIT
|
||||
|
||||
Reference in New Issue
Block a user