# AI Handoff 2026-05-06 Kompakte Quelle fuer einen neuen Chat. Ziel: nicht das ganze Repo neu auditieren, sondern mit dem bekannten Stand weiterarbeiten. ## Aktueller Stand - Repo: `G:\Gitea_Clone\homelab-infra` - Remote: `https://git.kaleschke.info/Micha/homelab-infra.git` - Branch: `master` - Letzter bekannter Commit: `e0e12f1 Document stale Komodo webhook cleanup` - Unraid-Host: `ssh root@192.168.178.58` - Push-Befehl, der zuverlaessig funktioniert: `git -C "G:\Gitea_Clone\homelab-infra" push origin master` - Nicht anfassen ohne explizite Freigabe: untracked `Homelab_Audit_2026-05-05.pdf` und untracked `ops/hermes-agent/services.yaml`. ## Audit-Arbeit Erledigt - K1: ungueltige Digests fuer Authelia, ntfy und borg-ui korrigiert und smoke-getestet. - K2: Authelia nutzt bewusst kein Redis; Doku entsprechend korrigiert. - K3/M1/M2 alt: Authelia Repo-Baseline geklaert, Homepage/Komodo ACL-Drift bereinigt. - M3a/M3b: Digest-Pinning fuer stateful/Tier-1 und weitere versionierte Apps umgesetzt; Redis-Caches bewusst ohne Digest, Nextcloud bewusst offen. - M5/N5: `.gitignore` eingefuehrt, Hermes `stack.env` zu `stack.env.example`. - M6/M7/M8: Hermes-Domain, Grafana/Influx `user: "0"` und Tailscale-Capabilities dokumentiert. - M9: Backup Scope / Restore Matrix erledigt. - N-Aufraeumen: alte Compose-`version:` Felder, leere Env-Beispiele und `.keep`-Platzhalter bereinigt. - Mail Archiver: `mail.kaleschke.info` liegt hinter `authelia@file,secure-headers@file`; Smoke-Test war 302 zu Authelia. - Hermes: Restore/DR-Doku ergaenzt. - Authelia SMTP: GMX SMTP eingerichtet, validiert, deployed und smoke-getestet. - M10: `KOMODO_WEBHOOK_SECRET` ist von `KOMODO_SECRET_KEY` getrennt. ## Wichtige Runtime-Details ### Authelia SMTP - Adresse: `submission://mail.gmx.net:587` - Mailkonto: `michideheld@gmx.de` - SMTP-Passwort liegt nur auf dem Host: `/mnt/user/appdata/secrets/authelia_smtp_password.txt` - Host-Config wurde vor Umstellung gesichert: `/mnt/user/appdata/authelia/config/configuration.yml.bak-20260506-smtp` - Authelia-Compose nutzt explizite DNS-Server, weil der SMTP-Startup-Check externe Namen aufloesen muss. - Nach Deploy war `authelia` healthy; `auth.kaleschke.info` antwortete 200, geschuetzte Routen 302 zu Authelia. ### Komodo / M10 - Komodo-Runtime nur gemeinsam mit dem Betreiber aendern. - `KOMODO_SECRET_KEY` wurde nicht geaendert. - `KOMODO_WEBHOOK_SECRET` wurde geaendert und ist jetzt eigener 64-Zeichen-Wert. - Neuer Wert liegt nur auf dem Host in `/mnt/user/services/stacks/komodo/.env`. - Komodo Compose auf Host: `/mnt/user/services/stacks/komodo/compose.yaml`. - Backups vom M10-Sprint: - `/mnt/user/appdata/komodo/_m10_backup_20260506-184838` - `/mnt/user/services/gitea/data/gitea/_m10_backup_20260506-184838/gitea.db.bak` - `komodo-core` wurde gezielt recreated. - `komodo-mongo` wurde nicht neu gestartet. - `komodo-periphery` lief durch und meldete sich wieder am Core-Websocket an. - Gitea-Komodo-Webhooks: 29 aktive Hooks, 29 zuletzt erfolgreich, 0 aktiv fehlgeschlagen. - Ein stale Gitea-Webhook auf eine nicht mehr existierende Komodo-Stack-ID wurde deaktiviert, nicht geloescht. - Eine Warnung `request branch does not match expected` ist ein Branch-Filter-Skip, kein Secret-/Auth-Fehler. - Fuer neue Gitea-Webhooks im Standardfall den globalen `KOMODO_WEBHOOK_SECRET` aus der Komodo-Host-`.env` nutzen, ausser Komodo zeigt fuer den Stack explizit ein eigenes per-Stack-Secret. ## Sicherheitsregeln Fuer Weitere Arbeit - Keine Secret-Werte im Chat oder Git ausgeben. - Bei Host-Pruefungen nur SET/MISSING, Laengen und Pfade zeigen. - Komodo-Compose, Komodo-Secrets und Komodo-Runtime nur bewusst und kleinschrittig aendern. - Bei jedem Deploy pro Stack smoke-testen; nicht mehrere kritische Stacks parallel veraendern. - Untracked Dateien nicht automatisch committen. - Bei Authelia-Aenderungen: Host-Config sichern, `authelia validate-config` ausfuehren, dann erst neu starten. - Bei Komodo-Aenderungen: Gitea-Webhooks und Komodo-Core-Secret-Seite zusammen betrachten. ## Naechste Sinnvolle Next-Level-Themen - Grafana/Influx rootless betreiben statt `user: "0"`; eigener Sprint wegen Volume-Rechten. - Restore-Test fuer Vaultwarden und Paperless dokumentiert durchfuehren. - Komodo Periphery von Legacy-Passkey auf Public-Key-Modell haerten. - Monitoring/Alerting reifer machen: externe Alarme, Restore-Test-Reminder, Backup-Erfolg sichtbar. - Gitea/Komodo Webhook-Landschaft weiter aufraeumen und per-Stack-Secret-Strategie dokumentieren. - DR-Test fuer `backend_net`/externe Docker-Netze explizit aufnehmen. ## Startprompt Fuer Neuen Chat Bitte zuerst `docs/archive/2026-05/AI_HANDOFF_2026-05-06.md` lesen und als aktuelle Arbeitsquelle verwenden. Nicht das ganze Repo neu auditieren, ausser ich fordere es an. Beachte besonders: Komodo nur gemeinsam und kleinschrittig aendern, keine Secret-Werte ausgeben, untracked PDF und `ops/hermes-agent/services.yaml` nicht anfassen. Wir starten jetzt mit Next-Level-Hardening.