
Un CMS per un piccolo server. Niente JavaScript, niente da terzi, tutti i siti che si vogliono in un solo programma.

Senza JavaScript
Né i siti né l’amministrazione ne hanno bisogno.
Niente da altrove
Niente CDN, niente web font, niente tracciamento, quindi niente banner dei cookie.
IA tramite MCP
Claude o ChatGPT curano i contenuti, con circa 140 strumenti.
Un solo programma
Un binario Go, un file SQLite, tutti i siti che si vogliono.
Beta 0.1.0: holzcloud-CMS si può far girare con i backup, ma l’insieme delle funzioni non è ancora congelato. Funzioni, impostazioni e contratto dei template possono cambiare o sparire a ogni versione; schema e migrazioni non sono promessi stabili. Prima di aggiornare fate un backup e leggete le note di rilascio.
holzcloud-CMS è un programma Go e un file SQLite. Niente PHP, niente server di database, niente Node. Un’installazione regge tutti i siti che si vogliono, ognuno con più domini, un proprio design e propri redattori.
Senza JavaScript, niente da altrove
- I siti non inviano alcun JavaScript. Nemmeno i temi caricati: un archivio con uno script, un
onclicko un linkjavascript:viene rifiutato. - Anche l’amministrazione funziona senza JavaScript. Ogni azione è un normale modulo. htmx la rende solo più veloce.
- In esecuzione non si carica nulla da terzi. I caratteri sono compilati dentro, ogni risposta porta la Content-Security-Policy
default-src 'self'. Connessioni verso l’esterno ci sono solo dove le si configura da sé: il proprio server di posta e, nel negozio, Payrexx.
Un sito così è veloce su qualsiasi telefono, continua a funzionare quando cade il servizio di qualcun altro e non ha bisogno di un banner dei cookie.
IA tramite MCP
Sotto /ai, holzcloud-CMS parla il Model Context Protocol. Claude, ChatGPT o un editor possono scrivere pagine, caricare immagini, ordinare menu e tradurre senza accedere all’interfaccia web. In Claude o ChatGPT basta inserire l’indirizzo e acconsentire una volta (OAuth). Le chiavi hanno tre livelli (read, content, admin) e si limitano a singoli siti e a una durata. Le nuove pagine sono sempre bozze, ogni modifica resta come versione. Il server non chiama mai da sé un’IA. Di più nella documentazione sull’accesso IA. Questo sito viene curato così.
Versione 0.1.0 — release su GitHub. Gira nel cluster e porta tre siti: questo e due siti di clienti, un’installazione, domini diversi.
Funzioni

Pagine a blocchi
Testo, immagine, galleria, schede, citazione o invito all’azione si impilano e si spostano, con l’anteprima nel design vero accanto. Si possono creare tipi di blocco propri per ogni sito.

Otto temi, regolabili
Sfondo, colore del testo, accento, carattere e arrotondamento degli angoli si impostano per sito. Il contrasto viene controllato subito secondo WCAG.

Multilingue
Fino a otto altre lingue per sito, con hreflang e selettore di lingua. Una matrice mostra quale pagina manca in quale lingua, un clic crea la versione.

Negozio con IVA svizzera
Prodotti, scorte e ordini, con fattura e bolla di consegna. Prezzi in CHF con 8,1, 2,6 e 3,8 %. Si paga su fattura, in anticipo o online con TWINT, PostFinance o carta tramite Payrexx. Carrello e cassa sono normali moduli.

Controllo SEO nell’editor
La scheda «SEO» dice cosa manca alla pagina salvata: descrizione troppo corta, un secondo H1, immagini senza descrizione. Non si blocca nulla. In più c’è un rapporto per l’intero sito, una sitemap con le immagini e /llms.txt.




Inoltre: una mediateca con album (dati della fotocamera e GPS rimossi al caricamento), versioni con confronto e ripristino, tipi di contenuto propri con 16 tipi di campo, moduli con quarantena antispam senza salvare IP, doppio fattore obbligatorio per gli amministratori, plugin in WebAssembly in una sandbox, esportazione come archivio leggibile o HTML statico, importazione da WordPress e CSV. L’amministrazione funziona fino al telefono (390 px).
Installazione
Scaricare holzcloud-linux-amd64 dall’ultima release, confrontarlo con il file .sha256, renderlo eseguibile e avviarlo. Poi aprire /admin: alla prima visita si crea l’account amministratore, poi il secondo fattore. Come container c’è ghcr.io/holzcloud/holzcloud-cms; per compilare da sé basta Go 1.26. Unit systemd, Caddyfile e script di backup sono nella guida all’esercizio.
Chi altro ci gira
Sulla stessa installazione girano altri due siti, con domini, design e tipi di contenuto propri.

Kinder und Bauernhof – Seehof
Una piccola fattoria della biodiversità a Seewen SO: pecore da latte della Frisia orientale, maiali lanosi, galline e capre. Il negozio della fattoria lavora su richiesta invece che con prezzi.

Delnahida
Allevamento di cani Löwchen e Perro de Agua Español. Venti pagine, ottantacinque immagini, dallo stesso binario.
Altri progetti
holzkube-manager, il gestore di cluster Kubernetes su Talos, holzBar, il gestore della barra dei menu per macOS, e holzWave, il terminale scritto in Rust. Torna alla home.