Später · 20 Konfig-Sicherung ins private Gitea-Repo, Geheimnisse geschwärzt

- kern/schwaerzen.py + dieselben Regeln im Ausführer (Test vergleicht beide): private Schlüssel, Werte hinter
  password/secret/token/key…, Passwort-Hashes, htpasswd, Zugangsdaten in Adressen, Authorization-Kopfzeilen,
  Token-Formate, lange Hex-Ketten
- Ausführer: sammelt Proxmox (Gäste, Speicher, Aufträge, Netz), AdGuard, NPMplus (ohne tls/), schwärzt auf dem Host,
  sendet alle 6 h und auf Abruf (Aktion konfig_senden) an POST /api/homelab/ausfuehrer/konfig
- Homelab-Teil: GET /api/homelab/konfig (frisch=1), dazu Compose und .env der Arcane-Projekte, geschwärzt
- KI-Box: services/konfig_sicherung.py legt das Repo beim ersten Lauf privat an, Arbeitskopie je Lauf auf Gitea-Stand,
  Commit nur bei Änderungen; Timer täglich 02:30, Knopf „Jetzt sichern“ unter Einstellungen → Homelab
- Totmannschalter und Wächter kennen den Timer; Doku

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-09-26 14:23:19 +02:00
co-authored by Claude Opus 5.5
parent 2972cdfeca
commit 75c6037431
43 changed files with 937 additions and 40 deletions
+5
View File
@@ -268,6 +268,11 @@ Eine eigene Seite mit fünf Karten: KI-Box, Homelab, Lucy, Meldungen, Software-S
- **NAS-Platten (SNMP, Homelab):** Am QNAP unter Systemsteuerung → Netzwerk- und Dateidienste → SNMP den Dienst
einschalten (SNMP v1/v2) und einen Zugangsnamen („Community“) wählen, der nicht „public“ heißt; den hier eintragen.
„Verbindung testen und speichern“ fragt das NAS erst damit — antwortet es, erscheinen seine Platten im Cockpit.
- **Konfig-Sicherung (Homelab, seit 26.09.):** Täglich um 02:30 legt der Orchestrator die Einstellungen von Proxmox
(Gäste, Speicher, Sicherungsaufträge, Netz), AdGuard, NPMplus, den Arcane-Projekten und der KI-Box in dein privates
Gitea-Repo `homelab-konfig` — Passwörter, Schlüssel und Tokens geschwärzt. Gespeichert wird nur, wenn sich etwas
geändert hat; in Gitea siehst du jede Änderung als Vorher-nachher und holst eine Datei über ihren Verlauf zurück
(Geheimnisse trägst du dann selbst wieder ein). Hier: der letzte Lauf, „Jetzt sichern“ und „In Gitea ansehen“.
- **Arcane-API-Schlüssel (Homelab):** in Arcane unter Einstellungen → API-Schlüssel anlegen und hier einfügen. „Prüfen
und speichern“ fragt Arcane zuerst, ob der Schlüssel gilt; erst dann wird er gespeichert — im Homelab-Teil, nicht
+21
View File
@@ -359,6 +359,27 @@ roten Hinweise per HTTP dorthin (`MC_PARTNER_URL` aus `/etc/mc2/homelab.env`).
hermes-gateway` (der Deploy startet das Gateway bewusst nicht neu). Prüfen:
`grep "homelab-orchestrator" ~/.hermes/logs/agent.log | tail -1` nennt die Zahl der Werkzeuge.
## Konfig-Sicherung (seit 26.09.)
Privates Gitea-Repo `Hitonabi/homelab-konfig` (User-Entscheid 25.09.: privat, Geheimnisse geschwärzt). Ablauf:
- **Ausführer** (`konfig_sammeln`, nur lesend): `/etc/pve/{lxc,qemu-server}/*.conf`, `storage.cfg`, `jobs.cfg`,
`datacenter.cfg`, `replication.cfg`, `/etc/network/interfaces`; aus AdGuard (Container mit Namen `adguard`)
`AdGuardHome.yaml`, aus NPMplus (`npmplus`) die nginx-Konfigs, Zugangslisten und eigenen Schnipsel — nie `tls/`.
Geschwärzt wird schon auf dem Host (`SCHWAERZEN`, dieselben Regeln wie `backend/kern/schwaerzen.py`, ein Test
vergleicht beide); gesendet alle 6 h und auf Abruf (Aktion `konfig_senden`) an `POST /api/homelab/ausfuehrer/konfig`
→ `/var/lib/mc2/konfig-host.json` (0600).
- **Homelab-Teil:** `GET /api/homelab/konfig?frisch=1` = Ausführer neu sammeln lassen, dazu Compose-Datei und `.env`
jedes Arcane-Projekts (Arcane-API `/environments/{id}/projects/{id}/compose`), geschwärzt.
- **KI-Box** (`services/konfig_sicherung.py`, Timer `mc2-konfig-sicherung.timer` täglich 02:30, Knopf in den
Einstellungen): holt das direkt beim Homelab-Teil, legt `/etc/llama-swap/config.yaml`, `~/.hermes/config.yaml`,
`~/.hermes/SOUL.md` und `~/.hermes/cron/jobs.json` geschwärzt dazu. Arbeitskopie `~/konfig-sicherung` (Wegwerfware:
vor jedem Lauf `reset --hard origin/main`), Commit nur bei Änderungen, Push über den vorhandenen Zugang in
`~/.git-credentials` (auch zum Anlegen des Repos beim ersten Lauf). Stand: `/srv/models/konfig-sicherung.json`,
`curl -s http://127.0.0.1:9001/api/konfig-sicherung`. Von Hand: `curl -s -X POST
'http://127.0.0.1:9001/api/konfig-sicherung?warten=1'`.
- **Zurückholen:** in Gitea die Datei → Verlauf → Stand ansehen, Inhalt übernehmen; geschwärzte Stellen
(`«geschwärzt»`) von Hand wieder füllen.
## Ausreißer ohne feste Schwellen (seit 26.09.)
`backend/kern/ausreisser.py` lernt je Messreihe (Box: `box`; Homelab: `pve`, `ct-*`, `vm-*`) und Größe (cpu, gpu, ram,
+8
View File
@@ -58,6 +58,14 @@ Commits (flacher Klon, `--ancestry-path`).
Beobachten am 27.09.: das erste Wartungsfenster (6 Sicherheitsupdates am Proxmox-Host, weitere in Gästen), der erste
Wochenbericht und der Sonntagslauf der Box mit dem Hermes-Update (281 Commits über den neuen Paketmanager).
**„Später“ erledigt (26.09.2026 nachmittags):** 19 Handy-Ansicht `/handy` als installierbare App (kein Web-Push);
21 neue Geräte im Netz — AdGuard sieht fast nur die Fritzbox, deshalb über die Nachbartabelle des Proxmox-Hosts;
18 Plattengesundheit (Host über Proxmox, Box über smartctl, NAS über SNMP); 22 Ausreißer ohne feste Schwellen (meldet
ab etwa Mitte Oktober, wenn drei Wochen Erfahrung da sind); 20 Konfig-Sicherung ins private Gitea-Repo
`homelab-konfig`, täglich 02:30, Geheimnisse geschwärzt.
Offen beim User: **SNMP am QNAP** einschalten und den Zugangsnamen unter Einstellungen → Homelab eintragen (sonst
keine NAS-Platten). Danach: die Android-App (Phase 5) gemeinsam planen.
## Offene Einzelpunkte (Homelab)
- **Zugang von außen:** Der Eintrag `mc.tobisniceshomelab.ddnsfree.com` in NPMplus (Proxy-Host 14 → Box :9001) hatte