# 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

