37 lines
702 B
Markdown
37 lines
702 B
Markdown
# Deployment via Docker auf Hetzner
|
|
|
|
## Zielzustand
|
|
|
|
* Ein Docker-Container:
|
|
* enthält statisches Frontend Build
|
|
* enthält minimalen Node/Express Server
|
|
* Konfiguration über Environment-Variablen (SMTP + Recipient)
|
|
* HTTPS Terminierung über Reverse Proxy (z.B. Caddy oder Nginx) oder über Hetzner-Setup
|
|
|
|
## Container Ports
|
|
|
|
* App hört intern auf einem Port (z.B. 3000)
|
|
* Reverse Proxy übernimmt 80/443
|
|
|
|
## Build-Strategie
|
|
|
|
Multi-stage:
|
|
|
|
1) Node Build Stage
|
|
|
|
* npm ci
|
|
* Frontend build
|
|
* Backend build (TypeScript)
|
|
|
|
2) Runtime Stage
|
|
|
|
* Nur dist + node_modules prod
|
|
* Start: node server
|
|
|
|
## Ops
|
|
|
|
* Health Endpoint (z.B. /healthz)
|
|
* Structured logs
|
|
* Rate limit und sensible Daten nicht loggen
|
|
|