Traefik filters containers that are 'unhealthy' or still 'starting'
(no health result yet). The old 30s interval meant kochwas stayed in
'starting' for 30+ seconds after boot, blocking Traefik from routing to it.
New timing:
--start-period=20s grace window — failures don't mark unhealthy yet
--start-interval=2s fast probes during start-period
--interval=15s steady-state cadence after first success
--timeout=5s, retries=3 unchanged
Container becomes 'healthy' within ~2-5s of the app coming up, so Traefik
picks it up almost immediately after 'docker compose up'.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>