
Traefik als einziger Einstiegspunkt im Docker Compose Stack
Ich habe den Stack so umgebaut, dass Browser und Extension nur noch Traefik sehen. Der Rest läuft über zwei Docker Netze, klare Labels und keine direkten Host-Ports mehr.

Ich habe den Stack so umgebaut, dass Browser und Extension nur noch Traefik sehen. Der Rest läuft über zwei Docker Netze, klare Labels und keine direkten Host-Ports mehr.

Vor dem Launch habe ich meine Architektur nicht nur auf Skalierung geprüft, sondern auch auf stillschweigende Sicherheitsannahmen. Dabei sind mir zwei kleine Lücken aufgefallen, die in Produktion sehr schnell teuer werden können.

Ich habe gelernt, dass ein Docker Named Volume in Produktion nicht automatisch auf einem Hetzner Volume landet. Erst wenn ich den Pfad bewusst steuere, weiß ich wirklich, wo Qdrant, Redis und Zertifikate geschrieben werden.

Ab acht Services im Docker-Compose-Stack wird nginx.conf zur Wartungslast. Traefik liest Service-Konfiguration direkt aus Docker-Labels, terminiert TLS automatisch über ACME und braucht keine separate Konfigurationsdatei. Warum ich gewechselt habe und wie die Konfiguration aussieht.

Vor dem Go-Live habe ich das Backend noch einmal vollständig durchgelesen. Sechs konkrete Probleme gefunden, alle behoben. Hier ist, was ich wo gefunden habe und warum es jeweils wichtig war.

Der Bootstrap-Container beendete sich mit Exit Code 22. Die Ursache war keine falsche API-URL, sondern Zitadels Host-Header-Validierung innerhalb des Docker-Netzwerks.