holzcloud
Menü
holzcloud-CMS: eine Wolke mit runden Jahrringen auf einem Holzbrett, daneben der Name, „A self-hosted CMS that needs no JavaScript and loads nothing from anywhere else.“ und die Stichworte Zero JavaScript, No external dependencies, Single binary, Many websites

Beta

Kein JavaScript

AGPL-3.0

Ein CMS für einen kleinen Server. Kein JavaScript, nichts von Dritten, beliebig viele Websites in einem Programm.

Block-Editor mit einem Bild-und-Text-Baustein links und der Live-Vorschau rechts

Kein JavaScript

Weder die Websites noch die Verwaltung brauchen es.

Nichts von anderswo

Keine CDNs, keine Web-Fonts, kein Tracking, darum kein Cookie-Banner.

KI über MCP

Claude oder ChatGPT pflegen Inhalte, mit rund 140 Werkzeugen.

Ein Programm

Ein Go-Binary, eine SQLite-Datei, beliebig viele Websites.

Beta 0.1.0: holzcloud-CMS lässt sich mit Sicherungen betreiben, der Funktionsumfang ist aber noch nicht eingefroren. Funktionen, Einstellungen und der Vorlagen-Vertrag können sich mit jedem Release ändern oder entfallen, Schema und Migrationen sind nicht als stabil zugesagt. Vor einem Update sichern und die Release-Notes lesen.

holzcloud-CMS besteht aus einem Go-Programm und einer SQLite-Datei. Es braucht kein PHP, keinen Datenbankserver und kein Node. Eine Installation trägt beliebig viele Websites, jede mit mehreren Domains, eigenem Design und eigenen Redakteuren.

Kein JavaScript, nichts von anderswo

  • Die Websites liefern kein JavaScript aus. Auch hochgeladene Themes nicht: Ein Archiv mit Skript, onclick oder javascript:-Link wird abgewiesen.
  • Die Verwaltung geht auch ohne JavaScript. Jede Aktion ist ein normales Formular. htmx macht sie nur schneller.
  • Zur Laufzeit wird nichts von Dritten geladen. Schriften sind einkompiliert, jede Antwort trägt die Content-Security-Policy default-src 'self'. Verbindungen nach aussen gibt es nur, wo man sie selbst einrichtet: zum eigenen Mailserver und, im Shop, zu Payrexx.

Eine solche Website ist auf jedem Telefon schnell, läuft weiter, wenn ein fremder Dienst ausfällt, und braucht keinen Cookie-Banner.

KI über MCP

Unter /ai spricht holzcloud-CMS das Model Context Protocol. Claude, ChatGPT oder ein Editor können damit Seiten schreiben, Bilder hochladen, Menüs ordnen und übersetzen, ohne sich in der Weboberfläche anzumelden. In Claude oder ChatGPT genügt die Adresse und eine Zustimmung (OAuth). Schlüssel gibt es in drei Stufen (read, content, admin), beschränkbar auf einzelne Websites und eine Laufzeit. Neue Seiten sind immer Entwürfe, jede Änderung bleibt als Version erhalten. Der Server ruft selbst nie eine KI auf. Mehr in der Doku zum KI-Zugang. Diese Website wird so gepflegt.

Version 0.1.0 — Release auf GitHub. Läuft im Cluster und trägt drei Auftritte: diese Seite und zwei Kundenseiten, eine Installation, verschiedene Domains.

Funktionen

Block-Editor mit einem Bild-und-Text-Baustein links und der Live-Vorschau rechts

Seiten aus Bausteinen

Text, Bild, Galerie, Karten, Zitat oder Aufruf werden gestapelt und verschoben, daneben steht die Vorschau im echten Design. Eigene Bausteinarten lassen sich je Website anlegen.

Design-Einstellungen mit der aktiven Vorlage, eigenen Farben und Schrift links und einer Live-Vorschau der Website rechts

Acht Themes, anpassbar

Hintergrund, Textfarbe, Akzent, Schrift und Eckenrundung stellt man je Website ein. Der Kontrast wird gleich nach WCAG geprüft.

Übersetzungsmatrix mit einer Zeile pro Seite, Spalten für Englisch und Französisch und einer Schaltfläche zum Anlegen bei jeder fehlenden Fassung

Mehrsprachig

Bis zu acht weitere Sprachen je Website, mit hreflang und Sprachumschalter. Eine Matrix zeigt, welche Seite in welcher Sprache fehlt, ein Klick legt die Fassung an.

Shop-Übersicht mit Umsatz des Monats, offenen Bestellungen, fast ausverkauften Produkten, einer Aufgabenliste und einem Balkendiagramm zum Umsatz pro Woche

Shop mit Schweizer MWST

Produkte, Lagerbestand und Bestellungen, dazu Rechnung und Lieferschein. Preise in CHF mit 8.1, 2.6 und 3.8 %. Bezahlt wird per Rechnung, Vorauskasse oder online mit TWINT, PostFinance oder Karte über Payrexx. Warenkorb und Kasse sind normale Formulare.

Seiten-Editor mit geöffnetem Reiter SEO: eine Liste von Befunden wie Beschreibung zu kurz, Überschrift der Stufe 1 im Text und kein Vorschaubild

SEO-Check im Editor

Der Reiter „SEO“ sagt, was an der gespeicherten Seite fehlt: zu kurze Beschreibung, eine zweite H1, Bilder ohne Beschreibung. Gesperrt wird nichts. Dazu kommen ein Bericht für die ganze Website, eine Sitemap mit Bildern und /llms.txt.

Mediathek mit Upload-Bereich, Seitenleiste mit Filtern und Alben und einem Raster von Bildern
Mediathek mit Alben und Filtern
Vergleich zweier Fassungen einer Seite mit rot markierten entfernten und grün markierten neuen Zeilen
Versionen einer Seite im Vergleich
Mediathek mit Upload-Bereich, Seitenleiste mit Filtern und Alben und einem Raster von Bildern
Mediathek mit Alben und Filtern
Vergleich zweier Fassungen einer Seite mit rot markierten entfernten und grün markierten neuen Zeilen
Versionen einer Seite im Vergleich

Ausserdem: eine Mediathek mit Alben (Kamera- und GPS-Daten werden beim Hochladen entfernt), Versionen mit Vergleich und Wiederherstellung, eigene Inhaltsarten mit 16 Feldarten, Formulare mit Spam-Quarantäne ohne IP-Speicherung, Zwei-Faktor-Pflicht für Administratoren, Plugins als WebAssembly in einer Sandbox, Export als lesbares Archiv oder statisches HTML, Import aus WordPress und CSV. Die Verwaltung läuft bis zum Telefon (390 px).

Installation

holzcloud-linux-amd64 aus dem neuesten Release laden, mit der .sha256-Datei vergleichen, ausführbar machen und starten. Dann /admin öffnen: Beim ersten Besuch wird das Administratorkonto angelegt, danach der zweite Faktor. Als Container gibt es ghcr.io/holzcloud/holzcloud-cms, zum Selbstbauen reicht Go 1.26. Systemd-Unit, Caddyfile und Sicherungsskript stehen in der Betriebsanleitung.

Wer noch darauf läuft

Auf derselben Installation liegen zwei weitere Auftritte, mit eigenen Domains, eigenem Design und eigenen Inhaltsarten.

Weitere Projekte

holzkube-manager, die Verwaltung für Talos-Kubernetes-Cluster, holzBar, der Menüleisten-Manager für macOS, und holzWave, das Terminal in Rust. Zur Startseite.