Bookstack als Open Source Wissensdatenbank mit Docker einrichten

Installiere Bookstack, eine leistungsstarke Open-Source-Wissensdatenbank, einfach und effizient auf deinem eigenen Server mit Docker und Docker Compose.

Bookstack als Open Source Wissensdatenbank mit Docker einrichten hero image

Manchmal möchte man sein Wissen organisieren. Verstreute Notizen, unzählige Lesezeichen, Konfigurations-Snippets oder Teile von Dokumentationen können irgendwo auf der Festplatte verloren gehen. Was wäre, wenn man eine zentrale und private Wissensdatenbank hätte, die einfach zu bedienen und zu verwalten ist?

Ich zeige dir Schritt für Schritt, wie du Bookstack, eine leistungsstarke Open-Source-Wiki-Software, auf deinem eigenen Server installierst. Und das Ganze natürlich einfach und effizient mit Docker und Docker Compose. Am Ende hast du deine eigene, organisierte Wissensdatenbank am Laufen, die du nach Belieben anpassen und erweitern kannst.

Bookstack ist eine Open-Source-Wissensdatenbank, die speziell entwickelt wurde, um Informationen strukturiert und benutzerfreundlich zu speichern. Die Plattform ermöglicht es Nutzern, Inhalte in Form von Büchern, Kapiteln und Seiten zu organisieren, was eine intuitive Navigation und ein einfaches Auffinden von Informationen fördert. Es ist besonders für Teams und Organisationen geeignet, die eine zentrale Anlaufstelle für ihr Wissen benötigen, aber auch für persönliche Projekte ist es ein hervorragendes Werkzeug.

Warum eine Open-Source-Lösung wie Bookstack?

Die Entscheidung für eine Open-Source-Lösung wie Bookstack bringt zahlreiche Vorteile mit sich. Zunächst einmal ermöglicht der offene Quellcode den Nutzern, die Software nach ihren eigenen Bedürfnissen anzupassen. Im Gegensatz zu proprietären Softwarelösungen ist man nicht an die Vorgaben eines Anbieters gebunden.

Ein weiterer wesentlicher Vorteil ist die Community-Unterstützung. Bookstack hat eine aktive Entwickler- und Nutzer-Community, die regelmäßig Updates bereitstellt und auf Sicherheitsanfälligkeiten reagiert. Zudem entfallen hohe Lizenzgebühren, was insbesondere für kleine Unternehmen, Teams oder Privatpersonen von Vorteil ist.

Key Takeaways

  • Bookstack ist eine Open-Source-Wissensdatenbank zur strukturierten Organisation von Wissen.
  • Mit Docker und Docker Compose lässt sich Bookstack einfach, schnell und plattformunabhängig installieren.
  • Die hierarchische Struktur (Bücher > Kapitel > Seiten) sorgt für eine hervorragende Übersicht.
  • Funktionen wie ein Markdown-Editor, Versionskontrolle und eine leistungsstarke Suche machen es zu einem mächtigen Werkzeug.
  • Durch die Selbsthosting-Möglichkeit behältst du die volle Kontrolle über deine Daten.

Voraussetzungen

Bevor wir loslegen, stelle sicher, dass du Folgendes zur Verfügung hast:

  1. Einen Server: Das kann ein kleiner VPS (z.B. von Hetzner Affiliate Link), ein lokaler Server wie ein Raspberry Pi oder auch ein Synology NAS oder Ugreen NAS Affiliate Link sein. Ein Linux-Betriebssystem (wie Ubuntu 24.04) ist ideal.
  2. Docker und Docker Compose: Diese müssen auf deinem Server installiert sein. Die meisten Server-Setups lassen sich heutzutage schnell damit ausstatten.
  3. (Optional) Eine Domain: Wenn du Bookstack später über eine leicht zu merkende Adresse (z.B. wiki.deinedomain.de) mit einem SSL-Zertifikat erreichen möchtest, benötigst du eine Domain, die auf die IP-Adresse deines Servers zeigt.

Schritt-für-Schritt-Anleitung: Installation mit Docker Compose

Wir werden Bookstack zusammen mit einer MariaDB-Datenbank in einem Docker-Setup betreiben. Das sorgt dafür, dass alle Komponenten sauber voneinander getrennt sind und einfach verwaltet werden können.

1. Verzeichnisstruktur anlegen

Verbinde dich per SSH mit deinem Server und erstelle ein Verzeichnis für dein Bookstack-Projekt. In diesem Ordner legen wir alle notwendigen Konfigurationsdateien und Daten ab.

# Hauptverzeichnis erstellen und hineinwechseln
mkdir ~/bookstack
cd ~/bookstack

# Unterordner für Konfiguration und Datenbankdaten erstellen
mkdir config db

2. Benutzer- und Gruppen-ID ermitteln

Damit der Docker-Container mit den richtigen Berechtigungen auf unsere Ordner zugreifen kann, benötigen wir die ID deines aktuellen Benutzers.

id

Die Ausgabe sieht etwa so aus: uid=1000(deinuser) gid=1000(deinuser) groups=1000(deinuser). Notiere dir die Zahlen für uid (PUID) und gid (PGID). In den meisten Fällen ist beides 1000.

3. Docker Compose Datei erstellen

Erstelle nun die zentrale Konfigurationsdatei compose.yaml (oder docker-compose.yml) im bookstack-Verzeichnis:

nano compose.yaml

Füge den folgenden Inhalt ein. Achte darauf, die markierten Stellen an deine Umgebung anzupassen.

services:
    bookstack:
        image: lscr.io/linuxserver/bookstack:25.07.2 # Spezifische Version statt 'latest' verwenden
        container_name: bookstack
        restart: unless-stopped
        environment:
            - PUID=1000 # DEINE BENUTZER-ID HIER EINTRAGEN
            - PGID=1000 # DEINE GRUPPEN-ID HIER EINTRAGEN
            - TZ=Europe/Berlin # Deine Zeitzone
            - APP_URL=http://DEINE_SERVER_IP:6875 # URL, unter der Bookstack erreichbar ist
            - APP_KEY=DEIN_SICHERER_APP_KEY # Wird im nächsten Schritt generiert
            - DB_HOST=bookstack_db
            - DB_PORT=3306
            - DB_USER=bookstack
            - DB_PASS=DEIN_SICHERES_DB_PASSWORT # Wähle ein sicheres Passwort
            - DB_DATABASE=bookstack
        volumes:
            - ./config:/config
        ports:
            - "6875:80" # Port auf dem Host (links) an Port im Container (rechts)
        depends_on:
            - bookstack_db
        networks:
            - internal

    # MariaDB Datenbank Service
    bookstack_db:
        image: mariadb:11
        container_name: bookstack_db
        restart: unless-stopped
        environment:
            - MARIADB_ROOT_PASSWORD=DEIN_SICHERES_ROOT_PASSWORT # Wähle ein sicheres Root-Passwort
            - MARIADB_DATABASE=bookstack
            - MARIADB_USER=bookstack
            - MARIADB_PASSWORD=DEIN_SICHERES_DB_PASSWORT # Dasselbe Passwort wie oben
        volumes:
            - ./db:/var/lib/mysql
        networks:
            - internal

networks:
    internal:
        external: false

Wichtige Anpassungen:

  • PUID & PGID: Ersetze 1000 mit den Werten, die du mit dem id-Befehl ermittelt hast.
  • APP_URL: Ersetze DEINE_SERVER_IP mit der öffentlichen IP-Adresse deines Servers. Der Port 6875 muss mit dem Port übereinstimmen, den du links unter ports definierst.
  • Passwörter: Wähle sichere und einzigartige Passwörter für DB_PASS und MARIADB_ROOT_PASSWORD.
  • APP_KEY: Diesen generieren wir jetzt.

4. App Key generieren

Bookstack benötigt einen einzigartigen Schlüssel zur Verschlüsselung. Führe den folgenden Befehl aus, um einen zu generieren. Er nutzt das Bookstack-Docker-Image, um den Befehl auszuführen, ohne den Container dauerhaft zu starten.

sudo docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey

Kopiere den Wert, der nach APP_KEY= angezeigt wird (z.B. base64:xxxxxxxx...), und füge ihn in deine compose.yaml-Datei ein.

5. Bookstack starten

Jetzt ist alles vorbereitet. Starte die Container mit folgendem Befehl im bookstack-Verzeichnis:

sudo docker compose up -d

Docker lädt nun die benötigten Images herunter und startet die Container im Hintergrund. Das kann beim ersten Mal einige Minuten dauern. Mit sudo docker compose logs -f kannst du den Startvorgang beobachten und auf eventuelle Fehler prüfen.

Ersteinrichtung und Konfiguration

Wenn alles geklappt hat, ist deine Bookstack-Instanz nun erreichbar!

  1. Öffne deinen Webbrowser und navigiere zu der Adresse, die du in der APP_URL festgelegt hast (z.B. http://DEINE_SERVER_IP:6875).
  2. Du solltest die Login-Seite von Bookstack sehen. Melde dich mit den Standard-Anmeldedaten an:
    • Benutzername: admin@admin.com
    • Passwort: password
  3. Ändere sofort dein Passwort! Klicke oben rechts auf dein Profilbild, gehe zu “Mein Profil bearbeiten” und vergib ein neues, sicheres Passwort.

Erste Schritte in Bookstack

Die Benutzeroberfläche ist selbsterklärend. Du kannst sofort damit beginnen, dein Wissen zu organisieren:

  • Regale (Shelves): Gruppiere thematisch zusammengehörige Bücher.
  • Bücher (Books): Das Haupt-Organisationselement für ein Thema oder Projekt.
  • Kapitel (Chapters): Optionale Unterteilung innerhalb eines Buches.
  • Seiten (Pages): Hier schreibst du den eigentlichen Inhalt. Der Editor unterstützt sowohl Markdown als auch einen WYSIWYG-Modus.

Bookstack aktualisieren

Einer der großen Vorteile von Docker ist das einfache Updaten. Um Bookstack zu aktualisieren, folge diesen Schritten:

  1. Neue Version finden: Schaue auf der GitHub Seite des linuxserver/bookstack-Images nach dem neuesten verfügbaren Tag.
  2. compose.yaml anpassen: Ändere den Image-Tag in deiner compose.yaml-Datei zur neuen Version.
  3. Neues Image ziehen: Lade das neue Image herunter.
    sudo docker compose pull
  4. Container neu erstellen: Starte die Container neu. Docker Compose erkennt die Änderung und erstellt den Bookstack-Container mit dem neuen Image neu, während deine Daten erhalten bleiben.
    sudo docker compose up -d
  5. (Optional) Alte Images aufräumen: Um Speicherplatz freizugeben, kannst du nicht mehr verwendete Docker-Images löschen.
    sudo docker image prune

FAQs

Was ist Bookstack und warum ist es eine gute Wahl für eine Wissensdatenbank?

Bookstack ist eine Open-Source-Software, die es Benutzern ermöglicht, Wissensdatenbanken zu erstellen und zu verwalten. Es bietet eine benutzerfreundliche Oberfläche, um Inhalte in einer hierarchischen Struktur (Regale > Bücher > Kapitel > Seiten) zu organisieren. Es eignet sich besonders gut für Teams und Organisationen, die ihr Wissen zentralisieren und leicht zugänglich machen möchten.

Wie sicher ist Bookstack?

Als selbst gehostete Anwendung hast du die volle Kontrolle über die Sicherheit. Bookstack bietet eine differenzierte Benutzer- und Rollenverwaltung, um Zugriffe zu steuern. Wenn du es über einen Reverse Proxy betreibst, ist die Verbindung über HTTPS verschlüsselt. Regelmäßige Updates der Software und des Servers sind entscheidend für die Sicherheit.

Kann ich meine Daten aus Bookstack exportieren?

Ja, Bookstack bietet verschiedene Export-Optionen. Du kannst einzelne Seiten als PDF, HTML oder reinen Text exportieren. Ganze Bücher können ebenfalls exportiert werden. Dies stellt sicher, dass du nicht an die Plattform gebunden bist.

Welche Funktionen bietet Bookstack für die Zusammenarbeit?

Bookstack unterstützt mehrere Benutzer mit unterschiedlichen Rollen (z.B. Admin, Editor, Betrachter). Seiten können kommentiert werden, und die Versionshistorie jeder Seite ermöglicht es, Änderungen nachzuvollziehen und bei Bedarf frühere Versionen wiederherzustellen.

Wie kann ich Bookstack in andere Systeme integrieren?

Bookstack bietet eine REST-API, die es ermöglicht, mit anderen Systemen zu interagieren. So können Inhalte programmatisch erstellt, gelesen oder aktualisiert werden. Es gibt auch Webhook-Integrationen, um andere Dienste über Ereignisse in Bookstack zu benachrichtigen.

Diesen Beitrag teilen:

Diese Website verwendet Cookies. Diese sind notwendig, um die Funktionalität der Website zu gewährleisten. Weitere Informationen finden Sie in der Datenschutzerklärung