// log

Dated, raw, real

Short entries in their original language, reverse chronological. No claim to polish — this is the heartbeat; the polished pieces live in the notes.

// reverse chronological

All entries

2026-08-16 :: Design-Pass für diese Seite abgeschlossen

Bänder-Rhythmus, light-dark()-Token statt Theme-Toggle, Handschrift nur als eingebettete SVG-Pfade. Null Client-JavaScript — die Mobile-Navigation und der Sprach-Switcher sind <details>-Elemente. Die Seite, auf der das hier steht, ist der aktuelle Stand.

2026-08-13 :: Chat-Stack-Cutover — Mattermost und Matrix in private Production

Der private Chat-Stack ist produktiv: Mattermost und Matrix mit Element, dazu ein AI-Bot mit Cloud-Modell und lokalem Ollama-Fallback über den eigenen Tunnel. Bewusst keine Föderation und kein öffentliches Routing — was nicht erreichbar ist, muss nicht verteidigt werden.

2026-08-09 :: Agent-Baseline-Upgrade — erst Snapshot, dann Migration

Den persönlichen Agent-Stack auf eine neue Baseline gehoben — mit Schema-Migration im Gepäck. Reihenfolge: benannter Snapshot, Full-Backup, dann erst die Migration, dann die Abnahmetests. Die Reihenfolge ist der eigentliche Inhalt dieses Eintrags.

2026-08-08 :: eine NVMe starb um 23:10 — den Mirror hat es nicht interessiert

Eine NVMe flog nach Timeouts und gescheiterten Controller-Resets aus dem ZFS-Mirror. Das System lief degradiert weiter — null Datenverlust, alle Gäste waren vor jedem Eingriff frisch im Backup. Nach komplettem Stromtrennen kam die Platte zurück: Resilver von 133 MB, 5 korrigierte Checksummen. Follow-up: wöchentlicher Trim-Timer statt autotrim, und die Schreiblast pro Container gemessen statt geraten. Ausführlich in der Note zum Ausfall.

2026-07-25 :: Paperless-Dedup-Audit — 1.351 PDFs, 794 neu, 0 Duplikate

Eine 932-GB-Platte voller nie abgeschlossener Migrationen aufgeräumt: 1.351 PDFs SHA-256-gehasht (929 Unikate), gegen zwei Paperless-Instanzen abgeglichen — 794 neu eingespielt, 97 existierten nur in Paperless, null zurückgewiesene Duplikate. Die gesamte Nachverarbeitung lief ohne LLM; vier Signale reichten. „Was ist Dokument 446?“ ist eine Datenbankabfrage, keine KI-Frage.

2026-07 :: DNS-Migration — Technitium raus, Blocky rein

Den Primär-DNS von Technitium auf Blocky migriert. Vorher eine eigene Benchmark-Umgebung gebaut und beide unter Last verglichen, statt Reddit-Meinungen zu übernehmen. Der Adblock läuft jetzt im Resolver, und die Messung liegt im Repo statt im Gefühl.

2026-06-23 :: drei tote Sensoren per Browser wiederbelebt

Drei Xiaomi-Temperatursensoren waren nach dem Verschwinden des Bluetooth-Dongles tote Geräte. Statt neuer Hardware: per WebBluetooth im Browser von der Bluetooth-Custom-Firmware auf Zigbee umgeflasht und neu gejoint. Darauf ein Raumklima-Beratungssystem gebaut — Taupunkt, absolute Feuchte, konkrete Handlungsempfehlungen statt nackter Messwerte.

2026-06-21 :: Dedi-Rebuild — von Dokploy auf Caddy und plain Compose

Den Dedicated Server komplett neu aufgebaut: Dokploy, Traefik und Swarm raus, Caddy und plain Docker Compose rein — provisioniert via Ansible aus dem rostr-Repo. Weniger Magie, mehr Inspektion: jede Datei auf dem Server hat jetzt eine nachvollziehbare Quelle. Vorher stand ein verifiziertes Backup-Set, nicht ein vermutetes.

2026-05 :: Homelab-Rebuild — aus zwei Jahren Wildwuchs

Zwei Jahre Wildwuchs — rund 50 Container auf einer einzelnen SSD — in ein dokumentiertes Setup überführt: ZFS-Mirror, getrennte Gäste, tägliche verifizierte Backups. Ehrliche Lektion aus dem Umzug: einige Container ohne Backup gingen verloren. Seitdem gilt die Regel, erst das Backup zu beweisen und dann anzufassen.