// entstehungsgeschichte
Timeline
Von der ersten Frage bis zum laufenden System.
// Phase 1 — Idee & Konzept
Ausgangsfrage
FritzBox + Shelly: Syslog wohin?
Ein praktisches Problem — wohin sollen die Logs der IoT-Geräte? Vector, Loki oder Graylog? Die Diskussion führte zur eigentlichen Kernfrage: Claude weiß bei jedem Gespräch wieder nichts über das Homelab.
Konzept
Codex: ein externes Gedächtnis für Claude
Name gefunden (Oracle verworfen — Namenskonflikt), Org codex-homelab in Forgejo angelegt, Repo codex erstellt. Konzept: SQLite als Wissensspeicher, Claude befüllt ihn während Gesprächen — kein automatisches Crawling.
Architektur
Schema, Scripts, FastMCP-Server
Vollständiges DB-Schema: devices, services, networks, notes, credentials, changelog. codex_lookup.py als Single-Call-Einstieg. status_update.py für Online/Offline. helpers/ für Geräte-Steuerung. Alle Scripts direkt ins Repo geschrieben.
// Phase 2 — Erster Start
Deployment
LXC 223 läuft — Connector aktiv
codex-lxc (192.168.1.182) gestartet, codex-mcp.service läuft. Binding-Bug behoben: Server lauschte auf 127.0.0.1 statt 0.0.0.0. Connector in claude.ai eingerichtet: codex.hebgen.rocks/mcp
Netzwerk-Inventur
Discovery: 66 Geräte, 8 Services
Ping-Sweep + ARP-Lookup über 192.168.0.0/16. Home Assistant als Datenquelle für Shelly-Namen genutzt. DB befüllt: alle bekannten Hosts, IoT-Geräte, LXC-Container, NAS-Systeme.
Subnet-Bug
Technitium verteilte /20 statt /16
IoT-Geräte in 192.168.10.x waren von anderen Segmenten nicht erreichbar. Ursache: falsches Subnetz in beiden DHCP-Scopes. Fix via Technitium REST API — beide Scopes auf 255.255.0.0 gesetzt.
// Phase 3 — Werkzeuge wachsen
Proxmox
Claude bekommt Zugriff auf den Hypervisor
proxmoxer eingebunden, API-Token eingerichtet (claude-codex@pve). Neue MCP-Tools: lxc_status, lxc_action, lxc_clone, lxc_create, lxc_exec, lxc_resize. Claude kann Container starten, stoppen, klonen, Shell-Befehle ausführen.
Infrastruktur
Graylog aus Template aufgebaut
Template claude-ubuntu2404 (LXC 224) als Basis. Graylog LXC 225 geklont, MongoDB 8 + OpenSearch 2.x + Graylog 6.3 installiert. Disk-Resize via neuem lxc_resize-Tool direkt aus dem Chat.
Connectoren
FritzBox, VPS, SSH-Zugang zu allen LXC
FritzBox TR-064 Helper gebaut: fritzbox_info, fritzbox_hosts, fritzbox_reconnect. VPS 213.202.208.90 über codex-lxc Key erreichbar — Docker-Inventur, 5 Helpers für Container-Management. SSH-Key-Deployment auf bestehende LXC per pct exec.
Selbstverwaltung
Claude schreibt eigene Tools ins Repo
Technitium DHCP-Reservation Tool komplett neu geschrieben — Root Cause: falscher API-Endpoint. Seafile LXC 226 installiert und konfiguriert. IP-Migrationen (Paperless, Graylog) vollständig von Claude durchgeführt: DHCP, DNS, Codex-DB, LXC-Reboot.
// Phase 4 — Skill & Selbstbeschreibung
Skill-System
CODEX_SKILL.md: Claude liest seine eigene Anleitung
Alle 41 MCP-Tools dokumentiert. Modulare Struktur: MAIN.md, tools.md, workflows.md, secrets.md, eigenheiten.md. Beim Start jeder Homelab-Aufgabe lädt Claude die Anleitung aus dem Repo — kein manueller Upload mehr nötig.
Logging
OMV und FritzBox loggen nach Graylog
syslog-forwarder für FritzBox TR-064 aufgebaut (systemd-Service). OMV-1 via rsyslog konfiguriert. Graylog-Inputs dokumentiert, API-Integration in Codex-MCP: graylog_search, graylog_inputs.
Diese Präsentation
Das Homelab präsentiert sich selbst
Geschichte aus ~15 Chats destilliert. HTML gebaut, auf VPS deployed — ausschließlich über die Werkzeuge, die im Projekt selbst entstanden sind. Org homelab-presentation angelegt, alles versioniert.