Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
Gollum
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
Gollum ist ein schlankes Wiki, das alle Seiten als Markdown-Dateien in einem Git-Repository speichert. Jede Änderung im Browser wird zu einem Git-Commit. Man kann das Wiki deshalb genauso gut mit einem Texteditor und git bearbeiten. Diese Anleitung installiert Gollum als Ruby-Programm und lässt es als Dienst auf dem eigenen Rechner laufen.
Vorbemerkungen
- Voraussetzung: Git ist installiert (
git --version). - Installation über RubyGems: Ubuntu hat kein Paket für Gollum selbst. Es wird mit dem Ruby-Paketmanager
geminstalliert. Ruby, die Build-Werkzeuge und die Git-Bibliothekruggedkommen aber aus apt. - Warum
ruggedaus apt: Gollum greift überruggedauf Git zu. Holtgemdieses Modul selbst, muss es die Bibliothek libgit2 übersetzen. Unter Ubuntu 26.04 bricht das mit einem Linkerfehler ab (-l:libjitterentropy.a kann nicht gefunden werden). Das fertige Paketruby-ruggedumgeht das.gemerkennt es als bereits installiert. - Version: Getestet mit Gollum 6.1.0 und Ruby 3.3 unter Ubuntu 26.04.
- Keine Benutzerkonten: Gollum hat keine Anmeldung. Jeder, der das Wiki erreicht, darf lesen und schreiben. Die Anleitung macht es deshalb nur auf dem eigenen Rechner erreichbar, auf Port 4567.
Installation
1. Paketlisten aktualisieren
Damit apt die aktuellen Paketstände der Ubuntu-Paketquellen kennt.
sudo apt update
2. Ruby, Build-Werkzeuge und rugged installieren
ruby– die Programmiersprache, in der Gollum geschrieben ist, samt Paketmanagergem.ruby-devundbuild-essential– Compiler und Kopfdateien. Einige Bibliotheken von Gollum enthalten C-Code, dengembei der Installation übersetzt.ruby-rugged– die fertig übersetzte Git-Anbindung für Ruby.
sudo apt install ruby ruby-dev build-essential ruby-rugged
Prüfen: Die Ausgabe beginnt mit ruby 3.3, und gem findet rugged in Version 1.9.
ruby --version
gem list rugged
3. Gollum installieren
Lädt Gollum und rund 35 Bibliotheken, die es braucht, von https://rubygems.org und installiert sie für das ganze System. Einige davon werden dabei übersetzt (Building native extensions), das dauert etwa eine Minute. --no-document lässt die Hilfetexte der Bibliotheken weg.
sudo gem install --no-document gollum
Prüfen: Die Ausgabe endet mit … gems installed, und Gollum meldet seine Version.
gollum --version
Wiki einrichten
4. Systembenutzer anlegen
Gollum soll unter einem eigenen Benutzer laufen, mit dem man sich nicht anmelden kann. --create-home legt gleich den Ordner /var/lib/gollum an, in dem das Wiki liegen wird.
sudo useradd --system --create-home --home-dir /var/lib/gollum --shell /usr/sbin/nologin gollum
5. Git-Repository für das Wiki anlegen
Legt ein leeres Git-Repository an, in dem Gollum die Seiten speichert. -b main nennt den Hauptzweig main. Gollum wird in Schritt 6 angewiesen, genau diesen Zweig zu verwenden. sudo -u gollum sorgt dafür, dass der Ordner dem Benutzer gollum gehört.
sudo -u gollum git init -b main /var/lib/gollum/wiki
Prüfen: Die Ausgabe lautet Leeres Git-Repository in /var/lib/gollum/wiki/.git/ initialisiert (oder englisch Initialized empty Git repository …).
Als Dienst einrichten
6. systemd-Dienst anlegen
Damit Gollum beim Rechnerstart automatisch läuft, bekommt es eine Dienstdatei für systemd.
sudo nano /etc/systemd/system/gollum.service
Füge diesen Inhalt ein (Strg+Umschalt+V), speichere mit Strg+O und Enter und beende nano mit Strg+X:
[Unit]
Description=Gollum Wiki
After=network.target
[Service]
Type=simple
User=gollum
Group=gollum
WorkingDirectory=/var/lib/gollum
ExecStart=/usr/local/bin/gollum --host 127.0.0.1 --port 4567 --ref main --allow-uploads dir --h1-title /var/lib/gollum/wiki
Restart=on-failure
[Install]
WantedBy=multi-user.target
Was die Angaben für Gollum bedeuten:
--host 127.0.0.1– nur vom eigenen Rechner aus erreichbar. Ohne diese Angabe lauscht Gollum auf allen Netzwerkschnittstellen.--port 4567– der Port, unter dem das Wiki erreichbar ist.--ref main– der Git-Zweig aus Schritt 5. Gollum erwartet sonstmaster.--allow-uploads dir– erlaubt das Hochladen von Bildern und Dateien. Sie landen im Repository im Ordneruploads.--h1-title– die erste Überschrift einer Seite dient als Seitentitel statt des Dateinamens./var/lib/gollum/wiki– das Git-Repository mit den Seiten.
7. systemd die neue Datei bekannt machen
systemd liest Dienstdateien nur beim Start oder auf Anweisung ein.
sudo systemctl daemon-reload
8. Dienst starten und Autostart einschalten
enable sorgt für den Start beim Hochfahren, --now startet Gollum zusätzlich sofort.
sudo systemctl enable --now gollum
Prüfen: Im Protokoll steht Sinatra (v4.2.1) has taken the stage on 4567.
sudo journalctl -u gollum -n 10
9. Aufruf prüfen
Gollum leitet die Startadresse auf die Seite Home weiter.
curl -sI http://localhost:4567/
Prüfen: Die erste Zeile lautet HTTP/1.1 302 Found, und bei Location steht http://localhost:4567/Home.
Erste Seite anlegen
10. Startseite im Browser anlegen
Öffne http://localhost:4567. Da es die Seite Home noch nicht gibt, bietet Gollum an, sie anzulegen. Wähle als Format Markdown, schreibe einen Text und speichere mit Save. Im Feld Edit message kannst du beschreiben, was du geändert hast. Das wird zur Commit-Nachricht.
Links auf andere Wiki-Seiten schreibst du so: [[Notizen]]. Existiert die Seite noch nicht, legt ein Klick darauf sie an.
11. Änderung in Git ansehen
Jede gespeicherte Seite ist ein Commit im Repository. Diesen Befehl führst du als Benutzer gollum aus, weil ihm das Repository gehört.
sudo -u gollum git -C /var/lib/gollum/wiki log --oneline
Prüfen: Die Liste zeigt einen Commit mit deiner Nachricht. Als Autor trägt Gollum Anonymous ein, weil es keine Benutzerkonten kennt. Die Seite selbst liegt als Home.md im Repository:
sudo -u gollum git -C /var/lib/gollum/wiki ls-files
Aktualisieren
1. Neue Version installieren
gem update holt die neueste Version von Gollum und seinen Bibliotheken.
sudo gem update --no-document gollum
2. Dienst neu starten
Der laufende Dienst verwendet sonst weiter die alte Version.
sudo systemctl restart gollum
Prüfen: gollum --version zeigt die neue Versionsnummer.
Deinstallieren
1. Dienst stoppen und Autostart ausschalten
Beendet Gollum und verhindert den Start beim Hochfahren.
sudo systemctl disable --now gollum
2. Dienstdatei löschen
Entfernt die Dienstdatei aus Schritt 6.
sudo rm /etc/systemd/system/gollum.service
3. systemd neu einlesen lassen
Damit systemd den gelöschten Dienst vergisst.
sudo systemctl daemon-reload
4. Benutzer und Wiki löschen
-r löscht mit dem Benutzer auch seinen Ordner /var/lib/gollum und damit das Git-Repository mit allen Seiten. Achtung: Wer die Seiten behalten will, kopiert den Ordner /var/lib/gollum/wiki vorher woanders hin. Die Warnung Mail-Warteschlange … nicht gefunden ist harmlos.
sudo userdel -r gollum
5. Gollum und alle Gems entfernen
Entfernt alle Ruby-Bibliotheken, die mit sudo gem install installiert wurden, samt ihrer Startbefehle in /usr/local/bin. --install-dir beschränkt das auf den Ordner, in den gem installiert. Pakete aus apt wie ruby-rugged bleiben unberührt. Achtung: Hast du mit sudo gem install noch andere Programme installiert, verschwinden sie ebenfalls.
sudo gem uninstall --all --ignore-dependencies --executables --install-dir /var/lib/gems/3.3.0
Prüfen: Die letzte Zeile lautet INFO: Uninstalled all gems in /var/lib/gems/3.3.0.
6. Ruby entfernen (optional)
Nur ausführen, wenn kein anderes Programm Ruby braucht. build-essential bleibt installiert, weil es auch für andere Anleitungen wie C und C++ gebraucht wird.
sudo apt purge ruby ruby-dev ruby-rugged
sudo apt autoremove
7. Leere Gem-Ordner löschen
Nach dem Entfernen von Ruby bleibt der leere Ordner /var/lib/gems zurück.
sudo rm -rf /var/lib/gems
Prüfen: Der Befehl gollum wird nicht mehr gefunden, und unter Port 4567 antwortet nichts mehr.
curl -sI http://localhost:4567/
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
Open Knowledge (Freies Wissen): Alle Texte stehen unter der freien Lizenz Creative Commons Namensnennung – Weitergabe unter gleichen Bedingungen 4.0 International (CC BY-SA 4.0) und können frei gelesen, geteilt und weiterverarbeitet werden.