LeafWiki installieren
LeafWiki ist eine moderne Wiki-Software, die in der Programmiersprache "Go" entwickelt wird. LeafWiki ist ein junges Projekt. Die Version v0.1.0 ist im Mai 2025 erschienen. Aktuell ist heute, am 15. Oktober 2026, die Version v0.14.1. Etwa monatlich erscheinen neue Versionen.
LeafWiki verwendet Markdown als Wiki-Markup. Die Markdown-Dateien werden auf der Festplatte gespeichert. Eine Datenbank wird nicht benötigt. Einige Metadaten werden jedoch mit Hilfe von SQLite gespeichert.
Technische Details
Die LeafWiki-Software steht als Binärprogramm ohne weitere Abhängigkeiten zur Verfügung. Das macht die Installation sehr einfach.
Installation
Folgende Schritte sind sinnvoll:
- Einen Domain-Admin-Account in HSAdmin einrichten. Ich verwende 'xyz00-leafwiki' als Beispiel.
- Eine (Sub-)Domain bei diesem Account aufschalten. Beispiel: 'wiki.hs-example.de'
- Das Binärprogramm von Github-Releases herunterladen und in 'leafwiki' umgenennen.
- Eine Environment-Datei mit den Einstellungen für Leafwiki anlegen.
- In der '.htaccess'-Datei der Domain einen Proxy konfigurieren.
- Einen Service für Systemd im Userspace einrichten.
HSAdmin
Über die HSAdmin-Oberfläche wird ein User mit Shell '/bin/bash' angelegt. Im zweiten Schritt wird die gewünschte Domain bei diesem User aufgeschaltet.
Download
Die aktuellen Version finden sich beim Github-Projekt: https://github.com/perber/leafwiki/releases
Wir benötigen das Binary für Linux mit AMD64-Prozessor, aktuell also 'leafwiki-v0.14.1-linux-amd64'.
Ich nenne das Binary in 'leafwiki' um und lege es im Verzeichnis '~/bin' ab. Das Execute-Recht muss gesetzt werden, z.B.:
chmod u+x ~/leafwiki
Einstellungen
Für die Einstellungen des Leafwiki-Dienstes lege ich eine Datei '~/etc/leafwiki.env' an. Ein Beispielinhalt:
LEAFWIKI_HOST=127.0.0.1 LEAFWIKI_PORT=34567 LEAFWIKI_DATA_DIR="/home/storage/xyz00/users/leafwiki/data" LEAFWIKI_ADMIN_PASSWORD="change_me_soon" LEAFWIKI_JWT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" LEAFWIKI_ENABLE_REVISION=true LEAFWIKI_LOG_LEVEL=warn LEAFWIKI_DEFAULT_LANGUAGE=de LEAFWIKI_SMTP_HOST=127.0.0.1 LEAFWIKI_SMTP_PORT=4025 LEAFWIKI_SMTP_FROM=webmaster@hs-example.de LEAFWIKI_SMTP_SECURITY=none LEAFWIKI_PUBLIC_URL=https://wiki.hs-example.de
Ein zufälliges JWT_SECRET lässt sich zum Beipiel wie folgt erzeugen:
LC_ALL=C tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 64; echo
Für die Konfiguration des Apache-Webserver als Proxy wird die Datei '~/doms/wiki.hs-example.com/htdocs-ssl/.htaccess' wie folgt geändert:
DirectoryIndex disabled
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RequestHeader set X-Forwarded-Proto "https"
RewriteRule ^(.*) http://127.0.0.1:34567/$1 [proxy,last]
Einzige Anpassung ist hier der Port '34567'. Der konfigurierte Wert muss auf dem Server frei sein und in beiden Konfigurationsdateien übereinstimmen.
Systemd Service Konfiguration
Als letzte Aktion richten wir den leafwiki-Prozess als Service ein. Dazu legen wir die Unit-Definition in der Datei '~/.config/systemd/user/leafwiki.service' an:
[Unit] Description=Leafwiki [Service] Type=simple Restart=on-abort WorkingDirectory=%h EnvironmentFile=%h/etc/leafwiki.env ExecStart=%h/bin/leafwiki [Install] WantedBy=default.target
Den Dienst starten und aktivieren mit:
systemctl --user daemon-reload systemctl --user start leafwiki.service systemctl --user enable leafwiki.service
Viel Spaß mit Leafwiki!