BookStack

BookStack

Was ist BookStack

BookStack ist eine benutzerfreundliche Open-Source-Plattform, die für das effiziente Organisieren und Teilen von Wissen entwickelt wurde. Die Software eignet sich ideal für Unternehmen, Teams, Vereine, Bildungseinrichtungen oder private Projekte, um Informationen zentral und übersichtlich zu verwalten. Ob interne Dokumentation, Wissensdatenbank oder persönliche Notizen – BookStack bietet eine Vielzahl von Funktionen, die sowohl intuitiv als auch flexibel sind.

Das Kernprinzip von BookStack liegt in seiner klaren Struktur, die Inhalte hierarchisch in Bücher, Kapitel und Seiten gliedert. Diese Organisation sorgt dafür, dass auch große Mengen an Informationen gut zugänglich und übersichtlich bleiben. Inhalte können einfach erstellt, bearbeitet und genau dort abgelegt werden, wo sie benötigt werden.

Dank eines modernen WYSIWYG-Editors (What You See Is What You Get) ist die Bedienung unkompliziert und auch ohne technische Vorkenntnisse möglich. Neben der Textformatierung können Bilder und Dateien hochgeladen oder Tabellen eingefügt werden. Für Nutzer, die mehr Kontrolle wünschen, bietet  BookStack zusätzlich Unterstützung für Markdown.


Funktionen

BookStack verfügt über eine Vielzahl von Funktionen, die das Verwalten und Strukturieren von Wissen sowohl für Einzelpersonen als auch für Teams effizient und benutzerfreundlich gestalten. Die Wissensbasis von BookStack ist in vier aufeinander aufbauende Hierarchieebenen unterteilt, die in ihrer Struktur an eine klassische Bibliothek erinnern. Diese klar definierte Gliederung erleichtert die Organisation auch bei größeren Informationsmengen. Im Folgenden werden die einzelnen Bestandteile eines BookStacks erklärt.

Regal

Ein Regal stellt die oberste organisatorische Einheit dar und bildet eine Sammlung mehrerer Bücher ab. Diese Funktion ermöglicht es, große thematische Einheiten logisch zu gruppieren und zu strukturieren. So können beispielsweise unterschiedliche Unternehmensbereiche, Projekte oder Wissensgebiete durch eigene Regale repräsentiert werden. Neben einem Titel kann jedes Regal mit einer optionalen Beschreibung und einem Bild versehen werden.

Buch

Bücher fungieren als thematische Oberkategorien innerhalb eines Regals. Sie ermöglichen die Bündelung zusammengehöriger Inhalte und dienen somit als Hauptebene der Wissensorganisation. Ein Buch könnte beispielsweise ein bestimmtes Projekt, eine Abteilung oder ein umfangreiches Thema wie „Prozesse“ oder „Technische Dokumentation“ repräsentieren. Auch Bücher können individuell beschrieben und mit einem Titel sowie einem Bild versehen werden.

Kapitel

Kapitel erlauben eine feinere Unterteilung innerhalb eines Buches. Sie helfen dabei, komplexe Inhalte in überschaubare und logische Abschnitte zu gliedern. So können spezifische Themen präziser dargestellt und voneinander abgegrenzt werden.

Seite

Seiten bilden die unterste Ebene der Wissensorganisation und enthalten die eigentlichen Inhalte eines Buches. Sie sind die grundlegende Einheit, auf der Informationen detailliert und strukturiert dargestellt werden können. Jede Seite kann mithilfe des integrierten WYSIWYG-Editors (What You See Is What You Get) intuitiv erstellt und bearbeitet werden. Dabei unterstützt der Editor verschiedene Funktionen wie Textformatierungen, das Hochladen und Einfügen von Bildern, die Integration von Links und Tabellen sowie das Anhängen von Dateien. Für Nutzer, die eine präzisere Kontrolle benötigen, steht zusätzlich die Markdown-Unterstützung zur Verfügung.

 

Abb. 1 – Hierarischer Aufbau der Wissensbasis in BookStack

In Abbildung 1 ist der  hierarische Aufbau aus Regalen, Büchern, sowie Kapiteln und Seiten visuell erkennbar. Dieser klare und logische Aufbau sorgt dafür, dass auch große Wissensmengen übersichtlich verwaltet werden können. Inhalte können jederzeit verschoben oder neu organisiert werden. So können beispielsweise Bücher zwischen Regalen und Kapitel zwischen Büchern verschoben werden, ohne dass bestehende Inhalte verloren gehen.

Erweiterte Funktionen für Teams und Gruppen

Neben den Kernfunktionalitäten zur Wissensdarstellung bietet BookStack eine Vielzahl weiterer Features, die speziell für den Einsatz in Teams oder größeren Gruppen entwickelt wurden.

Benutzerverwaltung und Rollen

BookStack ermöglicht die Anlage und Verwaltung von Benutzerkonten, wodurch eine gezielte Steuerung des Zugriffs und der Bearbeitungsrechte möglich wird. Mit der integrierten Funktion der Benutzerrollen können Administratoren unterschiedliche Berechtigungsstufen zuweisen, um den Zugriff auf Inhalte zu kontrollieren. Die standardmäßig verfügbaren Rollen – Administrator, Editor und Leser – erlauben es, Benutzerrechte granular zu definieren.

  • Administrator: Vollzugriff auf sämtliche Funktionen und Einstellungen.
  • Editor: Berechtigt, Inhalte zu erstellen und zu bearbeiten.
  • Leser: Kann Inhalte ausschließlich anzeigen, ohne Änderungen vorzunehmen.

Diese flexible Rechteverwaltung sorgt dafür, dass sensible oder geschützte Inhalte ausschließlich von autorisierten Personen eingesehen oder bearbeitet werden können.

Versionskontrolle

Ein weiteres Merkmal von BookStack ist die automatische Versionskontrolle. Änderungen an Seiten werden kontinuierlich protokolliert, sodass frühere Versionen jederzeit wiederhergestellt werden können. Diese Funktion ist nützlich in dynamischen Umgebungen, in denen Inhalte häufig aktualisiert werden müssen, da sie Transparenz schafft und versehentliche Fehler leicht korrigiert werden können.

Such- und Tagging-Funktionen

Um Inhalte schnell und effizient auffindbar zu machen, bietet BookStack eine Volltextsuche. Diese ermöglicht es Nutzern, Informationen über alle Regale, Bücher, Kapitel und Seiten hinweg zu durchsuchen. Darüber hinaus können Inhalte mit Tags versehen werden, um eine zusätzliche Ebene der Organisation und Kategorisierung zu schaffen. Tags ermöglichen es, ähnliche Inhalte über Hierarchiegrenzen hinweg zu verbinden und erleichtern das Auffinden thematisch verwandter Inhalte.

Individuelle Anpassbarkeit

Das Design der BookStack-Oberfläche lässt sich umfassend an individuelle Anforderungen anpassen. Über die Einstellungen können Farben, Logos und grundlegende Layouts geändert werden, um die Plattform an das Corporate Design einer Organisation anzupassen. Für fortgeschrittene Anpassungen können benutzerdefinierte CSS-Dateien eingebunden werden.

Integration, Erweiterbarkeit und Plattformunabhängigkeit

BookStack bietet umfassende Möglichkeiten zur Integration in bestehende IT-Systeme und zur Anpassung an individuelle Anforderungen. Die RESTful API erlaubt die programmgesteuerte Verwaltung von Inhalten und erleichtert die Einbindung in andere Tools oder die Automatisierung von Workflows. Mit der Unterstützung von OAuth-Login können Benutzer sich über externe Dienste wie Google oder Microsoft authentifizieren, was die Sicherheit und Benutzerverwaltung optimiert. Ergänzend dazu ermöglichen Webhooks die Weiterleitung von Ereignissen wie Inhaltsänderungen an externe Systeme, um automatisierte Prozesse auszulösen.

Dank der webbasierten Architektur ist BookStack plattformunabhängig und kann auf jedem Gerät mit einem Browser genutzt werden, sei es ein Desktop-PC, Tablet oder Smartphone. Die Unterstützung zahlreicher Sprachen macht die Plattform zudem ideal für internationale Teams. Mit dieser Flexibilität und Anpassungsfähigkeit eignet sich BookStack für unterschiedlichste Anwendungsbereiche und Arbeitsumgebungen.


Für welche Anwendungsfälle eignet sich BookStack?

BookStack kann in verschiedenen Bereichen eingesetzt werden. Hier sind einige Beispiele:

  • Team-Dokumentation: Teams können interne Prozesse, Checklisten oder Projektdokumentationen verwalten und zentral speichern. Dadurch entfällt die Suche nach verstreuten Dokumenten.
  • IT-Wissensmanagement: Perfekt für IT-Abteilungen, um technische Dokumentationen wie Netzwerkpläne, Anleitungen, Skripte oder FAQs zu speichern und zu aktualisieren.
  • Projekte: Notizen, Protokolle und Zeitpläne zu Projekten können organisiert und geteilt werden. Änderungen sind sofort sichtbar, was die Zusammenarbeit verbessert.
  • Schulungen und Onboarding: Neue Mitarbeiter erhalten direkten Zugriff auf wichtige Informationen und Ressourcen, was den Einarbeitungsprozess beschleunigt.
  • Persönliche Wissensdatenbanken: Auch für private Projekte oder Notizen – sei es für Hobbys, Studien oder Reiseplanungen – kann BookStack verwendet werden.

Die Vielfalt der Einsatzmöglichkeiten zeigt, dass BookStack in nahezu jedem Kontext als praktisches Werkzeug dienen kann, um Wissen effizient zu organisieren und zugänglich zu machen.


 


Technische Anforderungen

BookStack ist relativ ressourcenschonend und kann auf den meisten gängigen Serverumgebungen betrieben werden. Die technischen Mindestanforderungen sind:

  • Betriebssystem: Linux (Ubuntu, Debian, etc.) oder Windows (Server).
  • Webserver: Apache oder Nginx.
  • PHP: Version 8.1 oder höher.
  • Datenbank: MySQL 5.7+ oder MariaDB 10.2+.
  • Speicher: Mindestens 512 MB RAM (1 GB oder mehr empfohlen).

Zusätzlich benötigt man je nach Anwendungsfall Speicherplatz für die Inhalte, die in BookStack abgelegt werden. Dies hängt davon ab, ob vor allem Texte oder auch größere Dateianhänge gespeichert werden.


Installationmöglichkeiten von BookStack

BooksStack bietet eine Vielzahl von Möglichkeiten eine eigene Instanz aufzusetzen, um die unterschiedlichen Benutzeranforderungen abzudecken.

Manuelle Installation

Für die manuelle Installation wird PHP 8.1 oder höher und composer benötigt.

1. Repository klonen

Klone den Release-Branch des BookStack-GitHub-Repositories in einen Ordner:

git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch

Wechseln in den Ordner:

cd BookStack

2. Abhängigkeiten installieren

Führe den folgenden Befehl aus, um Composer-Abhängigkeiten zu installieren:

composer install --no-dev

3. Konfigurationsdatei erstellen

Kopiere die Datei .env.example zu .env und fülle sie mit Datenbank- und Mail-Details aus:

cp .env.example .env

4. Schreibrechte setzen

Stelle sicher, dass die folgenden Ordner vom Webserver beschreibbar sind:

  • storage
  • bootstrap/cache
  • public/uploads

5. Anwendungsschlüssel generieren

Generiere einen eindeutigen Anwendungsschlüssel:

php artisan key:generate

6. URL-Rewrite konfigurieren

Falls du keinen Apache-Webserver verwendest oder .htaccess-Dateien deaktiviert sind, musst du eigene URL-Rewrite-Regeln erstellen.

7. Web-Root setzen

Stelle sicher, dass die Web-Root deines Servers auf den Ordner public der BookStack-Installation zeigt. Dies kann über die root-Einstellungen (bei Nginx) oder die DocumentRoot-Einstellungen (bei Apache) erfolgen.

8. Datenbank migrieren

Führe den folgenden Befehl aus, um die Datenbank zu aktualisieren:

php artisan migrate

9. Fertig!

Du kannst du nun mit den Standard-Admin-Daten anmelden:

  • E-Mail: admin@admin.com
  • Password: password

Wichtig: Ändere diese Anmeldedaten sofort nach dem ersten Login!

Installation mit Docker

Falls eine containerisierte Installation bevorzugt wird, stehen folgende Community-Docker-Setups zur Verfügung:

LinuxServer.io

solidnerd

Installation auf Ubuntu

Es werden auch Installationsskripte für verschiedene Ubuntu-Instanzen bereitgestellt, wobei diese neue Instanzen sein sollten. In den Skripts werden die benötigten Abhängigkeiten installiert und es wird dadurch eine sorgenfreie Installation gewährleistet.

 


RESTful API

Die REST API von BookStack ermöglicht es, Inhalte und Einstellungen innerhalb der Plattform automatisiert anzusprechen und zu bearbeiten.

1. Authentifizierung

Um die REST API verwenden zu können, muss der jeweilige Account in seinen Rollen die Berechtigung „Access System API“ besitzen. Nach der entsprechenden Freischaltung im Benutzerprofil kann man ein API-Token erstellen, das aus einer Token ID und einem Token Secret besteht.

Authorization: Token <token_id>:<token_secret>

2. Endpunkte

BookStack stellt für alle wichtigen Objekte Endpunkte zur Verfügung. Beispielsweise gibt es für Seiten unter anderem folgende Endpunkte:

  • Erstellen: POST /api/pages
  • Lesen: GET /api/pages/{id}
  • Aktualisieren: PUT /api/pages/{id}
  • Löschen: DELETE /api/pages/{id}
  • Export : GET /api/pages/{id}/export/pdf

Darüber hinaus gibt es Endpunkte für Kapitel, Bücher, Bilder, Nutzer, Rollen und vieles mehr. Die zugänglichen Inhalte und Aktionen hängen von den Rollen- und Inhaltsberechtigungen des jeweiligen API-Nutzers ab.

3. Filter und Sortierung

Um Ergebnisse gezielt zu steuern, können URL-Parameter verwendet werden, z. B.:

  • Anzahl der Einträge pro Seite: ?count=50
  • Anzahl der zu überspringenden Einträge: ?offset=100
  • Sortierung nach Erstellungsdatum absteigend: ?sort=-created_at
  • Filter nach Namen: ?filter[name:like]=%titel%

4. Rate Limits und Sicherheit

Standardmäßig werden die API-Anfragen pro Benutzer auf 180 Aufrufe pro Minute limitiert. Der Administrator kann dieses Limit bei Bedarf anpassen.

Vieles der über die BookStack-API bereitgestellten Inhaltsdaten stammt aus Benutzereingaben und kann zum Beispiel HTML oder Markdown enthalten. BookStack selbst filtert zwar in einigen Fällen potenziell schädlichen Code, eine absolute Sicherheit ist jedoch nicht garantiert. Um Cross-Site-Scripting (XSS) und ähnliche Angriffe zu vermeiden, setzt BookStack intern auf strenge Content Security Policies (CSP). Bei einer Darstellung solcher Daten außerhalb von BookStack wird daher empfohlen, eigene Schutzmaßnahmen (z. B. CSP oder das Deaktivieren von JavaScript) einzusetzen.


Vergleich Confluence

Nachdem wir die Funktionen und Vorteile von BookStack ausführlich vorgestellt haben, möchten wir untersuchen, wie es im Vergleich zu anderen Wissensmanagement-Tools abschneidet. Dazu betrachten wir Confluence von Atlassian, eine der bekanntesten und am weitesten verbreiteten Lösungen in diesem Bereich. Viele Unternehmen nutzen Confluence bereits oder ziehen es als Standardoption in Betracht. Um die Unterschiede und Gemeinsamkeiten beider Systeme besser zu verstehen, haben wir eine direkte Gegenüberstellung erstellt. Diese Vergleichstabelle zeigt die wichtigsten Merkmale und hilft dabei, die passende Lösung für unterschiedliche Anforderungen zu identifizieren.

Funktion Confluence BookStack
Benutzeroberfläche Intuitive Oberfläche mit Echtzeit-Bearbeitung und Kommentaren. Einfache, übersichtliche UI mit WYSIWYG-Editor.
Strukturierung von Inhalten Flexible Hierarchie mit Bereichen, Seiten und Unterseiten. Feste Struktur mit Büchern, Kapiteln und Seiten.
Suchfunktion Leistungsstarke Suche mit erweiterten Filtern. Durchsuchbare Inhalte auf Buch- oder Systemebene.
Anpassungsmöglichkeiten Begrenzte Anpassung (Farben, Logo, Name). Hohe Anpassbarkeit (Name, Logo, Registrierungsoptionen).
Authentifizierung Integration mit SAML2, OpenID Connect, LDAP. Unterstützt LDAP, SAML2, Okta, soziale Logins.
Mehrsprachigkeit Unterstützt mehrere Sprachen. Mehrsprachige Unterstützung verfügbar.
Diagrammerstellung Whiteboard-Integration zur Visualisierung. diagrams.net-Unterstützung für Diagramme.
KI-Unterstützung KI-gestützte Funktionen wie Textzusammenfassung. Keine integrierte KI-Unterstützung.
Preisgestaltung Kommerzielle Software mit verschiedenen Preisplänen. Kostenlos und Open Source (MIT-Lizenz).

Die Wahl zwischen BookStack und Confluence hängt stark von den individuellen Anforderungen ab. BookStack ist ideal für Teams und Unternehmen, die eine einfache, intuitive und kostenfreie Lösung für das Wissensmanagement suchen. Durch die klare Struktur, die leichte Bedienbarkeit und die Möglichkeit zur Selbstverwaltung eignet es sich besonders für kleinere bis mittelgroße Organisationen oder technische Dokumentationen.

Confluence hingegen bietet eine umfassendere und flexiblere Plattform, die sich besonders für große Unternehmen mit komplexen Workflows eignet. Die tiefen Integrationen mit anderen Atlassian-Produkten und Drittanbieter-Apps machen es zur bevorzugten Wahl für Teams, die eine zentrale, erweiterbare Lösung benötigen. Allerdings sind die höheren Kosten und potenzielle Datenschutzbedenken bei der Cloud-Version zu berücksichtigen.


BPMN-Diagramm

Das BPMN-Diagramm veranschaulicht die grundlegende Nutzung von BookStack zur strukturierten Wissensverwaltung. Es zeigt die verschiedenen Rollen mit ihren jeweiligen Berechtigungen sowie den möglichen Workflow, den Nutzer innerhalb von BookStack durchlaufen können.

Fazit

BookStack präsentiert sich als eine leistungsstarke, benutzerfreundliche Open-Source-Lösung für effizientes Wissensmanagement. Mit seiner klaren hierarchischen Struktur aus Regalen, Büchern, Kapiteln und Seiten bietet es eine intuitive Organisation von Informationen, die auch bei großen Wissensmengen übersichtlich bleibt. Die Plattform überzeugt durch ihre Flexibilität, einfache Bedienung und umfangreiche Funktionen wie Versionskontrolle, differenzierte Benutzerverwaltung und leistungsfähige Suchfunktionen.
Im Vergleich zu kommerziellen Lösungen wie Confluence sticht BookStack besonders durch seine Kosteneffizienz und Anpassungsfähigkeit hervor. Es eignet sich ideal für kleine bis mittelgroße Organisationen, Teams oder Privatpersonen, die eine zuverlässige Wissensdatenbank ohne hohe Lizenzkosten betreiben möchten. Die vielfältigen Installationsmöglichkeiten und die RESTful API ermöglichen zudem eine flexible Integration in bestehende IT-Infrastrukturen.
Zusammenfassend bietet BookStack eine überzeugende Alternative für alle, die Wert auf eine strukturierte, zugängliche und kosteneffiziente Wissensverwaltung legen.


Literatur

[1] https://www.bookstackapp.com/docs/
[2] https://www.bookstackapp.com/#features
[3] https://www.bookstackapp.com/hacks/
[4] https://www.bookstackapp.com/about/confluence-alternative/
[5] https://github.com/BookStackApp/BookStack
[6] https://demo.bookstackapp.com/api/docs
[7] https://www.reddit.com/r/BookStack/
[8] https://blog.admin-intelligence.de/einfuehrung-in-die-benutzung-von-bookstack-als-wiki-system/
[9] https://www.atlassian.com/de/software/confluence