702 B
702 B
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:
- Node Build Stage
- npm ci
- Frontend build
- Backend build (TypeScript)
- 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