Troubleshooting
Login & Scrape
Abschnitt betitelt „Login & Scrape“Login schlägt fehl
Abschnitt betitelt „Login schlägt fehl“- Passwort und MFA prüfen
HEADLESS=falsein.envsetzen → sichtbares Chromium beim nächsten Scrape, du siehst direkt was schiefgeht
Executable doesn't exist (Playwright)
Abschnitt betitelt „Executable doesn't exist (Playwright)“npx playwright install chromiumIm Docker-Image ist Chromium bereits dabei — dieser Fehler tritt nur bei lokaler Installation auf.
Scraper hängt minutenlang
Abschnitt betitelt „Scraper hängt minutenlang“- WISS / Tocco-Portal kann gerade langsam sein
- Setze
DEBUG_SCRAPER=true→ bei Fehlern werden DOM-Dumps indata/geschrieben
Tocco-Portal hat sich geändert (HTML-Layout)
Abschnitt betitelt „Tocco-Portal hat sich geändert (HTML-Layout)“Selektoren in src/scraper.js und src/db/parsers.js brauchen Update. Issue mit DOM-Dump auf GitHub eröffnen.
API & Auth
Abschnitt betitelt „API & Auth“Token vergessen
Abschnitt betitelt „Token vergessen“rm data/.api-token# Restart → neuer Token in den Logsdocker logs tocco-mate | grep AUTO-GENERATED401 Unauthorized trotz Token
Abschnitt betitelt „401 Unauthorized trotz Token“- Header-Format prüfen:
Authorization: Bearer <token>(mit Leerzeichen) - Token aus
data/.api-token(komplette Zeile, ohne Whitespace) - Bei
?token=URL-Param: nur auf/api/eventserlaubt
429 Too Many Requests
Abschnitt betitelt „429 Too Many Requests“Anti-Brute-Force greift. Warte 15 Minuten oder restarte den Container. Siehe Sicherheit.
Mobile / PWA / Push
Abschnitt betitelt „Mobile / PWA / Push“Mobile-Push aktivieren geht nicht
Abschnitt betitelt „Mobile-Push aktivieren geht nicht“Mobile-Push braucht HTTPS. Über LAN-IP funktioniert’s nicht (Browser-Sicherheitsregel). Lösung: Reverse-Proxy mit TLS davor — siehe Sicherheit.
iOS Push-Toggle ausgegraut
Abschnitt betitelt „iOS Push-Toggle ausgegraut“Die PWA muss installiert sein (Safari → Teilen → „Zum Home-Bildschirm”), nicht im Browser-Tab.
Brave-Push schlägt fehl
Abschnitt betitelt „Brave-Push schlägt fehl“brave://settings/privacy → „Google-Dienste für Push-Nachrichten verwenden” aktivieren. Brave blockt Google-FCM standardmäßig.
Service-Worker-Updates kommen nicht durch
Abschnitt betitelt „Service-Worker-Updates kommen nicht durch“Hard-Refresh (Ctrl+Shift+R / Cmd+Shift+R) oder PWA deinstallieren + neu installieren.
Daten & DB
Abschnitt betitelt „Daten & DB“Stundenplan zeigt alte Einträge
Abschnitt betitelt „Stundenplan zeigt alte Einträge“Im Stundenplan-Tab → „DB zurücksetzen” → manueller Scrape. Die Tabelle wird komplett neu aufgebaut.
Wochen-Check soll erneut laufen
Abschnitt betitelt „Wochen-Check soll erneut laufen“rm data/.weekly-detail-at# RestartKeine LB / ZP im Modul
Abschnitt betitelt „Keine LB / ZP im Modul“Beim nächsten Scrape wird’s nachgezogen. Manuell: /scrape im Dashboard oder Telegram.
database is locked
Abschnitt betitelt „database is locked“Sehr selten — meist wenn zwei Container gleichzeitig auf dasselbe data/ zugreifen. Nur einen Container pro data/-Ordner laufen lassen.
DB-Backup während Container läuft
Abschnitt betitelt „DB-Backup während Container läuft“docker exec tocco-mate sh -c 'sqlite3 /app/data/tocco.db ".backup /tmp/tocco-backup.db"'docker cp tocco-mate:/tmp/tocco-backup.db ./tocco-backup-$(date +%Y%m%d).dbEACCES: permission denied auf /app/data
Abschnitt betitelt „EACCES: permission denied auf /app/data“PUID / PGID stimmen nicht. Siehe NAS / Unraid.
Container restartet ständig
Abschnitt betitelt „Container restartet ständig“docker logs tocco-mateHäufigste Ursachen:
- Health-Check schlägt fehl (Server brauchte > 30 s zum Boot) →
start_period: 60sin compose MS_EMAILoderMS_PASSWORDfehlen → Logs zeigen Login-Error- Port
3000schon belegt → Port mappen-p 3001:3000
Chromium-Sandbox-Error
Abschnitt betitelt „Chromium-Sandbox-Error“Siehe Docker Deployment → Chromium-Sandbox.
Telegram-Bot
Abschnitt betitelt „Telegram-Bot“Bot reagiert nicht
Abschnitt betitelt „Bot reagiert nicht“TELEGRAM_ENABLED=truegesetzt?TELEGRAM_TOKENkorrekt (vom BotFather, mit Doppelpunkt)?TELEGRAM_ALLOWED_USER_IDist deine ID (vom @userinfobot)?- Server neu gestartet nach
.env-Änderung?
„Bot is unauthorized”
Abschnitt betitelt „„Bot is unauthorized”“Token ist falsch oder Bot wurde im BotFather gelöscht. Neuen Token holen.
Bot reagiert auf /start, aber sonst nicht
Abschnitt betitelt „Bot reagiert auf /start, aber sonst nicht“Du bist evtl. nicht der TELEGRAM_ALLOWED_USER_ID. Prüfe deine ID via @userinfobot.
Performance
Abschnitt betitelt „Performance“Scrape dauert > 60 s
Abschnitt betitelt „Scrape dauert > 60 s“- Tocco-Portal langsam — abwarten
HEADLESS=false+SLOW_MO=100für Debug- DOM-Dumps via
DEBUG_SCRAPER=true
Hohe CPU-Last während Idle
Abschnitt betitelt „Hohe CPU-Last während Idle“Scheduler-Intervall zu kurz. In Settings auf 30 min oder mehr stellen — die Scrapes brauchen keine 5-Minuten-Granularität.
Sonstiges
Abschnitt betitelt „Sonstiges“Wo logge ich Issues?
Abschnitt betitelt „Wo logge ich Issues?“→ https://github.com/JoKerIsCraZy/tocco-mate/issues
Bitte vorher die offenen Issues durchsuchen — vielleicht gibt’s das Problem schon.