guest@muellerchen:~$ cat README.md
NO CMS
Kein WordPress, keine Datenbank, kein Admin-Login im Netz. Diese Seite ist eine Handvoll statischer HTML-Dateien, die aus Git-Commits entstehen — ausgelöst per Texteditor oder per Foto an einen Telegram-Bot.
hugo version
Der UnterbauHugo baut aus Markdown-Dateien und Go-Templates in Millisekunden eine fertige, statische Webseite — keine Server-Logik, kein PHP, keine Datenbank, die gepflegt oder abgesichert werden müsste. Ausgeliefert wird das Ergebnis von einem schlanken nginx auf einem 1-Euro-VPS.
- Generator
- Hugo (Extended)Go-basiert, Build-Zeit <100ms
- Quelle der Wahrheit
- Gitzwei private GitHub-Repos, Source & Build-Output getrennt
- Ausgeliefert von
- nginx auf einem VPS1 vCPU, <1 GB RAM — reicht locker, läuft als eigener Docker-Container
- Auslöser für Updates
- Git-Push oder Telegram-Fotobeides läuft am Ende auf denselben Build-Deploy-Kreislauf hinaus
git log --graph --oneline
Vom Commit bis liveZwei Wege führen zum selben Ziel: eine Textänderung von Hand, oder ein Foto per Telegram. Ab dem Source-Repo läuft alles automatisch — kein manueller Build, kein manueller Upload.
whoami --tools
WerkzeugkastenKein CMS mit Login — Inhalte und Code entstehen an ganz normalen Werkzeugen:
- Claude CodeHat direkten Zugriff auf das Source-Repo — kann Dateien ändern, committen und pushen, genau wie ein menschlicher Mitentwickler.
- ObsidianProjektdokumentation und Notizen (nicht die Seiteninhalte selbst) werden als Markdown in einem Obsidian-Vault gepflegt.
cat SECURITY.md
Minimal-TrustJede Komponente kennt nur genau das, was sie zum Funktionieren braucht — sonst nichts:
- VPSHat nie Hugo installiert, kann nichts bauen — liefert nur aus, was im Dist-Repo liegt.
- Deploy-KeyNur Schreibrecht fürs Dist-Repo, sonst nichts — kein Zugriff auf den Source-Code.
- WebhookHMAC-signiert, eigens geschriebener Listener ohne Fremdabhängigkeiten.
- n8nLäuft im VPN-only k3s-Cluster — pollt Telegram aktiv, statt einen öffentlichen Webhook anzubieten.
- Beide ReposPrivat, obwohl der Inhalt öffentlich ausgeliefert wird — schlicht kein Grund, mehr offenzulegen als nötig.
- Beta-DomainsHTTP Basic Auth, solange eine Seite noch nicht fertig ist — verhindert, dass Suchmaschinen unfertigen Content indexieren.
Gebaut an einem Wochenende, aus Neugier, ob's auch ohne WordPress geht. Und natürlich LowLevelHedonist!