PDF herunterladen und lokal speichern!
Oeffnet die Druckansicht – waehle "Als PDF speichern" und sichere die Datei auf PC oder Handy.
⇓ Als PDF speichern

Notfallprotokoll

Wenn Claude Code nicht verfuegbar ist

Ebene 1
Service haengt
SSH-Zugang vorhanden → systemd-Befehle → Service neustarten
Ebene 2
Server reagiert nicht
SSH nicht erreichbar → Hostinger VPS-Konsole im Browser nutzen
Ebene 3
System kaputt
Hostinger Backup wiederherstellen — Dauer ca. 44 Minuten
Sofort-Hilfe
1
Diagnose starten
Dieses Skript prueft alle relevanten Services und gibt einen Ueberblick.
~/bin/notfall-diagnose.sh
2
KI-Hilfe holen
Output des Diagnoseskripts kopieren und bei claude.ai einfügen. Fehlerbeschreibung hinzufügen, dann um Hilfe bitten.
3
Services neustarten
rudi-chat neustarten + Status pruefen
sudo systemctl restart rudi-chat
sudo systemctl status rudi-chat
Nginx neustarten + Status pruefen
sudo systemctl restart nginx
sudo systemctl status nginx
Fail2ban neustarten
sudo systemctl restart fail2ban
Alle Services auf einmal neustarten
sudo systemctl restart rudi-chat nginx fail2ban

Sonderfaelle

StartLimitBurst – Service startet zu oft
sudo systemctl reset-failed rudi-chat && sudo systemctl start rudi-chat
OOM-Kill – Prozess durch Speichermangel beendet
sudo journalctl -u rudi-chat --since "1 hour ago" | grep -i "oom\|killed\|memory"
Port 3456 belegt – Prozess anzeigen und beenden
sudo lsof -i :3456
sudo kill -9 <PID>
Nginx-Probleme

Konfiguration testen

sudo nginx -t

Nginx-Config aus Backup wiederherstellen

Zuerst verfuegbare Backups anzeigen, dann die neueste Datei kopieren:

ls -t ~/backups/nginx/
sudo cp ~/backups/nginx/<DATEINAME> /etc/nginx/sites-enabled/default
sudo nginx -t && sudo systemctl reload nginx

SSL-Zertifikat erneuern

sudo certbot renew --force-renewal

Haeufige Fehler

502 Bad Gateway

Node.js (rudi-chat) ist nicht erreichbar. rudi-chat neustarten (siehe Sektion A).

403 Forbidden – Basic Auth

Passwortdatei pruefen:

cat /etc/nginx/.htpasswd
Haeufige Fehler
Cannot find module – fehlende npm-Pakete
cd ~/rudi-chat && npm install
EADDRINUSE :3456 – Port bereits belegt
sudo lsof -i :3456
sudo kill -9 <PID>
ANTHROPIC_API_KEY fehlt oder ungueltig

Umgebungsvariablen pruefen:

cat /etc/environment

Danach Service neustarten, damit neue Werte geladen werden.

Disk voll – kein Speicherplatz mehr
df -h
sudo journalctl --vacuum-size=100M
du -sh ~/uploads/* | sort -h | tail -10
Log-Analyse

rudi-chat Logs

Live-Log verfolgen
sudo journalctl -u rudi-chat -f
Letzte Stunde
sudo journalctl -u rudi-chat --since "1 hour ago"
Nur Fehler anzeigen
sudo journalctl -u rudi-chat -p err

Nginx Logs

Fehler-Log
sudo tail -50 /var/log/nginx/error.log
Access-Log
sudo tail -50 /var/log/nginx/access.log

Fail2ban

sudo fail2ban-client status
System-Reset / Rollback
Achtung: Git-Repos sind nur lokal vorhanden, kein Remote-Repository! Rollback kann nicht rückgängig gemacht werden. Vorher Snapshot erstellen (Sektion F).

Backend-Rollback (rudi-chat)

cd ~/rudi-chat && git stash
git log --oneline -10
git checkout <HASH>

Frontend-Rollback (/var/www/html)

cd /var/www/html && git stash
git log --oneline -10
git checkout <HASH>

Nginx-Config Rollback

ls -t ~/backups/nginx/
sudo cp ~/backups/nginx/<DATEINAME> /etc/nginx/sites-enabled/default
sudo nginx -t && sudo systemctl reload nginx

Tar-Backup wiederherstellen

ls -t ~/backups/full/
sudo tar -xzf ~/backups/full/<DATEINAME> -C /
Hostinger-Notfall

Zugang zum Panel

URL: hpanel.hostinger.com → VPS → srv1469849

VPS-Konsole (kein SSH noetig)

Im Hostinger Panel oben rechts auf den Terminal-Button klicken. Damit oeffnet sich ein Browser-Terminal – vollstaendiger Root-Zugriff ohne SSH.

VPS neustarten

Panel → VPS-Verwaltung → Reboot-Button. Dauert ca. 1–2 Minuten.

Backup wiederherstellen

Achtung: Dauert ca. 44 Minuten. Alle Daten werden auf den Stand des Backups zurückgesetzt. Letztes woechentliches Backup: 2026-03-15.

Panel → VPS → Snapshots → Backup auswählen → Wiederherstellen.

Snapshot erstellen (vor Aenderungen!)

Panel → VPS → Snapshot erstellen. Manuellen Snapshot immer VOR groesseren Änderungen anlegen.

Empfehlung: Tägliche automatische Backups aktivieren – ca. 2,99 EUR/Monat. Aktuell nur woechentliche Backups vorhanden.
Referenzkarte

Wichtige Pfade

PfadBeschreibung
~/rudi-chat/server.jsBackend Entry-Point
~/rudi-chat/routes/API-Routen (chat, qms, files, system)
~/rudi-chat/lib/Shared Helpers, Tools-Definition
~/rudi-chat/chat-history/Chat-Verlauf (JSON-Dateien)
/var/www/html/Frontend (Dashboard, QMS, etc.)
~/rudi-chat/public/Chat-Frontend
/etc/nginx/sites-enabled/defaultNginx-Konfiguration
/etc/environmentUmgebungsvariablen (API-Keys)
~/backups/nginx/Nginx-Config-Backups
~/backups/full/Tar-Vollbackups
~/uploads/Nutzer-Uploads (max. 50 MB)
~/qms/QMS/output/arbeitsdaten/QMS-Daten (JSON)
~/bin/Hilfsskripte (notfall-diagnose.sh, etc.)

Services

ServicePortBeschreibung
rudi-chat3456 (lokal)Node.js Backend, systemd-Service
nginx80 / 443Reverse Proxy, Basic Auth, HTTPS
fail2banBrute-Force-Schutz (3 Jails)

URLs

URLBeschreibung
rudi-regiofrucht.de/Dashboard
rudi-regiofrucht.de/chat/KI-Chat (RUDI)
rudi-regiofrucht.de/qms/QMS-Dashboard
rudi-regiofrucht.de/notfall/Diese Seite
hpanel.hostinger.comHostinger Panel (VPS-Verwaltung)
claude.aiKI-Hilfe ohne Server

Backup-Uebersicht

TypOrtHaeufigkeit
NAS rsync (Synology)Synology NAS (lokal im Buero)Alle 6 Stunden automatisch
Hostinger Snapshothpanel.hostinger.comWoechentlich automatisch / manuell vor Aenderungen
Lokales Tar-Backup~/backups/full/Manuell via ~/bin/notfall-backup.sh
Nginx-Config-Backup~/backups/nginx/Automatisch bei Aenderungen
Git (lokal)~/rudi-chat/, /var/www/html/Lokal, kein Remote
Backup erstellen

NAS-Backup (automatisch alle 6h, NAS zieht vom VPS)

Die Synology NAS holt alle 6 Stunden per rsync die Daten vom VPS ab. Das Backup-Log liegt auf der NAS unter /volume1/backups/rudi-backup.log.

NAS-Backup einrichten (VPS-Seite vorbereiten):

~/bin/setup-nas-backup.sh

SSH-Key pruefen:

ls -la ~/.ssh/nas_backup

Vom NAS wiederherstellen

Der Restore wird VON DER NAS aus gestartet (NAS pusht zum VPS). Anleitung anzeigen:

~/bin/nas-restore.sh

Lokales Backup

Erstellt ein vollstaendiges Tar-Archiv und speichert es in ~/backups/full/:

~/bin/notfall-backup.sh

Hostinger Snapshot

Vor groesseren Aenderungen immer einen manuellen Snapshot anlegen. Anleitung siehe Sektion F.

Empfehlung: Zuerst lokales Backup mit dem Skript, danach manuellen Hostinger-Snapshot erstellen.