Überblick und Architektur
Diese Anleitung beschreibt den Betrieb von Kibo mit Docker Compose hinter
einem Reverse Proxy. Als Beispiel dient Traefik. Alle Beispieldateien liegen
in deploy/.
Architektur
Internet ──▶ Traefik ──▶ Kibo (App) ──▶ PostgreSQL
:80/:443 :4321 :5432
Netzwerk „proxy“ Netzwerk „internal“ (ohne Internet)
- Traefik terminiert TLS und ist der einzige Dienst mit veröffentlichten Ports.
- App hängt in zwei Netzwerken:
proxy(nur für Traefik erreichbar) undinternal. - PostgreSQL hängt ausschließlich in
internalund veröffentlicht keinen Port. - migrate ist ein eigener Container, der einmal läuft und die Migrationen anwendet. Die App startet erst, wenn er erfolgreich war.
- load-fixtures ist ein optionaler Helfer im internen Netzwerk für künstliche Lasttest-Daten. Er startet nur auf ausdrücklichen Aufruf, hält sein privates Journal in einem eigenen Volume und erzeugt keine HTTP-Last.
- load-runner ist ein eigenständiges Image für den separaten Lastgenerator. Es enthält Bun, k6 und das Testskript, braucht keinen Checkout und gehört nicht auf den Anwendungs- oder Datenbankhost.
Ein einziges Image passt für jede Domain: Adresse, Secrets, SMTP-Zugang und die Rechtstexte kommen zur Laufzeit aus der Umgebung. Das Beispiel betreibt einen App-Prozess. Die Spam-Limits liegen in PostgreSQL und werden von allen Prozessen geteilt (Spam-Schutz); daraus folgt noch keine vollständige Unterstützung mehrerer App-Replikas. Insbesondere die Push-Bündelung hält ihren Zustand derzeit im einzelnen Prozess.
Der Weg zur eigenen Instanz
- Voraussetzungen prüfen: Server, DNS, Ports, Images.
- Traefik anbinden – den vorhandenen oder das Beispiel.
- Kibo einrichten: Dateien kopieren,
.envausfüllen, starten. - Konfiguration: alle Umgebungsvariablen, und wer sich registrieren darf.
- SMTP einrichten – ohne Mailversand kann sich niemand registrieren.
- Impressum und Datenschutz hinterlegen.
- Optional: Benachrichtigungen einschalten.
- Nur als Dienst für viele Kitas: Gehosteter Betrieb.
Für den laufenden Betrieb: Updates, Sicherung und Wiederherstellung, Betrieb, Sicherheit, Fehlersuche und die Regeln des Spam-Schutzes.