diff --git a/README.md b/README.md index 9311821..1ed94cc 100644 --- a/README.md +++ b/README.md @@ -202,12 +202,19 @@ Annahmen stecken in `tools/authoring.mjs` und sind dort einzeln kommentiert: ## Stolperstein beim Deployment -Der erste Rollout lieferte trotz laufendem Container und korrekten Labels ein -404 von Traefik. Ursache war der HEALTHCHECK im Dockerfile: busybox-löst zuerst nach auf, nginx lauschte aber nur auf IPv4 – -der Check schlug dauerhaft fehl. **Traefik nimmt Container, die nicht - sind, gar nicht erst in die Routing-Tabelle auf**, deshalb entstand -kein Router und damit auch kein Zertifikat. +Der erste Rollout lieferte trotz laufendem Container und korrekten Traefik-Labels +ein 404 vom Proxy. Ursache war der HEALTHCHECK im Dockerfile: busybox-`wget` +löst `localhost` zuerst nach `::1` auf, nginx lauschte aber nur auf IPv4 – der +Check schlug dauerhaft fehl und der Container blieb auf `health: starting`. -Behoben durch im Healthcheck und ein zusätzliches - in der nginx-Konfiguration. Der Workflow wartet seither auf -, bevor er den Lauf als erfolgreich meldet. +**Traefik nimmt Container, die nicht `healthy` sind, gar nicht in die +Routing-Tabelle auf.** Deshalb entstand kein Router, kein Zertifikat und damit +ein 404 mit dem Traefik-Default-Zertifikat – ein Fehlerbild, das leicht nach +einem Proxy- oder DNS-Problem aussieht. + +Behoben durch `http://127.0.0.1/` im Healthcheck und ein zusätzliches +`listen [::]:80;` in der nginx-Konfiguration. Der Deploy-Workflow wartet +seither auf `healthy` und prüft den Router, bevor er den Lauf abschliesst. + +Merksatz für weitere AICDS-Apps: ein Container mit fehlschlagendem Healthcheck +wird von Traefik stillschweigend ignoriert.