Fehlersuche
Die häufigsten Symptome und was dahintersteckt. Fast immer steht die Ursache
im Log der App (docker compose logs app).
| Symptom | Ursache und Abhilfe |
|---|---|
| Traefik liefert 404 | Router greift nicht: KIBO_DOMAIN vergleichen, Container im Netzwerk KIBO_PROXY_NETWORK? docker compose logs app und die Traefik-Logs prüfen. |
| Zertifikatsfehler | DNS zeigt noch nicht auf den Server, Port 80 ist zu, oder der Name in KIBO_CERTRESOLVER existiert im Traefik nicht. |
| Anmeldung schlägt fehl, Sitzung wird sofort vergessen | BETTER_AUTH_URL passt nicht exakt zur aufgerufenen Adresse (Protokoll, www, Port). Cookies gelten nur für den dort genannten Ursprung. |
| Links der Bretter oder Mails zeigen auf die falsche Adresse | Ebenfalls BETTER_AUTH_URL; danach docker compose up -d. |
| Keine E-Mails | docker compose logs app | grep '\[mail\]'. Fehlt SMTP_HOST, steht das dort. Sonst Port, STARTTLS und Zugangsdaten prüfen. |
App beendet sich sofort, [server] … fehlt im Log |
Eine Pflichtangabe fehlt oder ein Wert ist ungültig; die vollständige Liste steht unter Startprüfung. Die [server]-Zeilen nennen den Grund. |
| Nach dem Update sind alle abgemeldet | Erwartet beim Update auf 1.0.0: Die Sitzungs-Cookies heißen jetzt __Secure-… (Update auf 1.0.0). |
| Bild in Impressum oder Datenschutz fehlt | Die Content-Security-Policy lädt nur Bilder von Kibo selbst oder data:-URLs (Impressum und Datenschutz). |
| App startet nach einem Update nicht | docker compose logs migrate – die Migration ist fehlgeschlagen. Ursache beheben, notfalls Sicherung einspielen und alten Tag setzen. |
app bleibt unhealthy |
Datenbank prüfen: docker compose logs postgres, docker compose ps. |
| Rate-Limit greift für alle gleichzeitig | Alle Anfragen landen in einem Budget; das Log meldet [spam] X-Forwarded-For ließ sich nicht auflösen …. Steht ein CDN davor, TRUSTED_PROXIES setzen (Sicherheit). Sonst prüfen, dass Traefik ohne trustedIPs läuft, genau ein X-Forwarded-For schickt und der App-Port nicht anderweitig erreichbar ist. |
/admin/signup führt zur Anmeldung, „Registrieren“ fehlt |
SIGNUP_MODE=closed: gewollt. Konten legt der Betrieb per Skript an; Eingeladene nutzen den Link aus ihrer Einladungsmail (Registrierung steuern). |
| „E-Mail-Adressen dieser Domain sind … nicht zugelassen“ | Die Domain steht nicht in SIGNUP_EMAIL_DOMAINS. *.domain erfasst nur Subdomains, nicht die Domain selbst (Registrierung steuern). |
| Keine Benachrichtigungen | Benachrichtigungen: docker compose logs app | grep '\[push\]'. Benachrichtigungen aus heißt: VAPID_* fehlen. … lehnt die Nachricht ab (403) nach einem Schlüsselwechsel: alte Abos löschen. Auf dem iPhone erscheinen die Glocken erst, wenn die Kita zum Home-Bildschirm hinzugefügt ist. |
| Zettel wird als Duplikat abgewiesen | Derselbe Text hängt auf dem Brett schon (24 Stunden lang). Den vorhandenen Zettel entfernen – der Text ist damit sofort wieder frei. |