BookStack ist ein teamfähiges Wiki, das es auch unerfahrenen Nutzern ermöglicht, Dokumentationen oder andere Sammlungen im Handumdrehen anzulegen und zu pflegen, ohne dass es auf erweiterte Funktionalität verzichtet.
Sowohl zu Hause als auch im Job macht BookStack eine gute Figur. Bei mir kommt es seit Kurzem zum Einsatz, um die im Haushalt befindlichen Computer und Peripherie zu katalogisieren. Das reicht von der Hardware über Software, Domains und Subdomains bis zu Tipps und Tricks beim Einrichten von Geräten oder Software.
Wie eine Bibliothek
BookStack ist logisch aufgebaut. In Kapitel unterteilte Seiten werden in Büchern thematisch zusammengefasst und können dann in Regalen untergebracht werden. Dabei kann ein Buch auch in mehreren Regalen stehen. Dieses Konzept garantiert eine minimale Einarbeitungszeit. Dabei hilft auch der auf TinyMCE basierende WYSIWYG-Editor, der sich auf Markdown mit Live-Vorschau umstellen lässt.

Per Docker oder direkt auf der Hardware
Die Grundvoraussetzungen für die Installation sind PHP und eine Datenbank wie MySQL oder MariaDB. Das lässt sich sowohl in Docker umsetzen als auch per Script in einer dedizierten Ubuntu-Installation. Für Docker steht eine Docker-Compose-Datei bereit. Unter Unraid ist bereits eine App vorbereitet. Eine Demo vermittelt ebenso wie die ausführliche Dokumentation einen ersten Eindruck von der Leistungsfähigkeit von BookStack. In der nächsten Ausgabe des LinuxUser erscheint ein ausführlicher Artikel zu diesem interessanten Wiki.

Danke für den Artikel, Bookstack ist echt super. Kannte es vorher nicht.
Derzeit nutze ich es bei einem Anbieter im Internet.
Am liebsten würde ich es aber nur auf meinem Desktop-PC ohne Anbindung an das Internet nutzen.
Da ich private Dinge dort aufschreiben will.
Ich nutze Tumbleweed.
Von Webservern und php oder mariasql habe ich so gut wie keine Ahnung.
Gibt es eine einfache Möglichkeit, Bookstack für einen ahnunugslosen User auf dem Desktop-PC zu installieren? z.B. ein Script für openSuse Tumbleweed (rpm) und ohne Docker.
Ich bin dankbar für jede Hilfe.
Bookstack lässt sich auch ohne Docker installieren, aber mit Docker ist es einfacher. Denn du musst auf jeden Fall einen Webserver und eine Datenbank installieren. Das ist mit Docker um einiges einfacher. Hast du meinen ausführlichen Artikel zu Bookstack (Paywall) im LinuxUser gelesen? Wenn du Einstiegsschwierigkeiten mit Docker hast, so erscheinen ebenfalls im LinuxUser vermutlich im nächsten Heft zwei Beiträge, die in die Installation von Docker und Docker Compose einführen und den Umgang damit erklären.
Gerade hat mich ein Leser darauf aufmerksam gemacht, dass ich zwei wichtige Features ausgelassen habe, und recht hat er. Dabei geht es einmal um die hervorragenden Shortcuts für die Bedienung der Oberfläche und die Integration von draw.io zum Erstellen von Diagrammen.
Nutze ich in der Firma mehrfach:
Bisher keine Klagen und nur positiver Zuspruch. Wurde bei uns zum Selbstläufer, statt Kollegen mit “Wie geht das” zu belästigen, heißt es nur noch “Schau ins Gehirn” – das Anleitungs-Bookstack heißt Gehirn 🧠
Noch nie hatte ich beim Rollout von irgendwas so wenig Gegenwind oder Verweigerung…
Sieht von der Bedienbarkeit ganz gut aus, aber wenn ich bei der bare metal Installation schon lese “wir brauchen composer um die Abhängigkeiten zu verwalten”, klingt es schon wieder nach der Hölle auf Erden. Mag sein, dass ich da etwas oldschool bin, aber so wahnsinnig komplex sieht die Software jetzt nicht aus. Wenn tatsächlich ein ganzer Sack voll Abhängigkeiten notwendig ist, würde ich das Konzept als solches hinterfragen. Composer ist also nur wieder etwas, was man gesondert im Auge behalten muss…
Kann sein, dass das beim Docker Container anders/automatisch geregelt wird, aber nicht immer ist Docker die Antwort auf alles.
Sorry für den Rant…
Ich habe BookStack sowohl in Docker als auch per Script in einer Ubuntu-VM installiert ohne Composer zu benötigen.
Kann fast nicht sein, die PHP-Pakete werden für den Betrieb gebraucht. Im Container waren die vielleicht schon am Platz aber die manuelle “Installation” per
git clone, erfordert das laden der Pakete, da das “./vendor”-Verzeichnis sicher nicht im git-Archiv enthalten ist.Vo manuellen Weg über
git clonehab ich ja nicht gesprochen, sondern vom Installationsscript für Ubuntu. Das ist für unbedarfte Anwender und erledigt die komplette Installation in einem Rutsch. Meine Docker-Install fand in Unraid statt und erforderte das Aufsetzen weiterer Container. Aber das Script ist von jedem ohne große Vorkenntnis einsetzbar.Ah! Alles klar, das Script hat dir den composer in “/usr/local/bin/composer” eingerichtet und ihn dann auch benutzt.
Alles richtig, Du hast in also nicht direkt selbst benutzt. Schönen Tag noch.
> “wir brauchen composer um die Abhängigkeiten zu verwalten”, klingt es schon wieder nach der Hölle auf Erden.
Du hast noch nie mit PHP und composer gearbeitet, oder? Kein Vergleich zu der “dependency hell” wie man sie mit npm packages hat.
Nein, habe ich tatsächlich nicht.Darum klingt es für mich ja auch so. Wenn es nicht so ist, um so besser. An NPM als Vergleich habe ich aber gedacht, ja.
Trotzdem tue ich mich schwer damit, weil ich den Mehrwert von composer nicht erkenne. Mag aber tatsächlich an magelnder Praxiserfahrung liegen.
> […] weil ich den Mehrwert von composer nicht erkenne.
Composer ist ein Paketmanager für PHP. Es macht ja z. B. wenig Sinn einen eigene Datenbankabstraktion zu schreiben, wenn es bereits ein Paket gibt, dass diese Aufgabe sehr gut erledigt. Das, also das Einbinden und benutzen von fremden Paketen, um eine spezielle Aufgabe zu erfüllen, ist gängige Praxis in der Softwareentwicklung und sehr nützlich.
Deine Bedenken kommen aber durchaus zum tragen, wenn man die Sache übertreibt oder gar bis ins abstruse abgleitet. Ich denke da z. B. an das npm-Paket “is-odd”, ein paar Zeilen Code, die man leicht auch innerhalb des eigenen Projektes anlegen könnte, führen im Zweifel in die Abhängigkeitshölle. Nun ja … npm ist halt das Paradebeispiel für mögliche Übertreibungen (eben durch die wechselseitige exzessiv Nutzung anderer Pakete), lass so ein Projekt mal ein Jahr liegen … dann viel Spaß beim fixen der bis dahin aufgelaufenen Sicherheitsmeldungen der verwendeten Pakete.
Langer Rede gar kein Sinn: Du hast vollkommen recht. Man sollte natürlich gut überlegen, von was man sich Abhängig macht und was man besser selbst macht. Aber was soll man machen … “mit Kanonen auf Spatzen” scheint kein Problem mehr zu sein, vermutlich weil es halt einfach – und vor allem schnell – umgesetzt werden kann.
Das hier besprochene Projekt allerdings hat einige Konzepte selbst umgesetzt, für die es sicher auch fertige Pakete gäbe. Was nun das genaue Gegenteil dessen ist, wogegen dein Rant gerichtet war. Falsches Ziel 🙂
Danke für den Exkurs. 🙂 Damit kann ich das besser einordnen. In meiner Denke existiert bisher nur npm und das tut man sich nicht freiwillig an.
Ich habe die Anleitung zur Installation bisher nur überflogen, muss ich composer in der aktuellsten Version verwenden oder reicht etwas aus den Paketquellen von z.B. Debian 12? Muss das morgen mal in Ruhe lesen und ggf. mal ausprobieren.
Da composer selbst auch in PHP geschrieben ist und in einer ausführbaren Datei (.phar) verfügbar ist, kannst Du ihn Dir auch direkt runterladen und benutzen, Du bist da nicht abhängig vom Paketbestand deines OS (nur PHP muss da sein).
Pro Projekt
shellwget https://getcomposer.org/download/latest-stable/composer.phar
chmod +x ./composer.phar
./composer.phar --version
Oder nach “~/bin”
shellmv composer.phar ~bin/composer
composer –version
composer self-update
`Bei Fragen oder Problemen helfe ich Dir gerne.
PS: Bedenke, Composer installiert nicht das Projekt. Das ist eine Webanwendung und benötigt daher einen Stack aus PHP/MySQL/Webserver. Das ist auf Deiner Arbeitsmaschine möglicherweise nicht gewünscht und zieht weitere Konfiguration (von z.B. webserver vhost, php(-fpm), etc.) nach sich. Sieh Dir das “Ubuntu 24.04 Script” an und versuch es in einer VM oder nimm die gedockerte Variante, dann brauchst Du auch nicht den Composer selbst runterladen.
Viel Erfolg!
LAMP bzw. nginx oder Caddy und das Drumherum sind mir zum Glück geläufig. 🙂 Kommt eh erstmal in eine Spiel-VM und dann sehen wir weiter. Warum ich auf den Paketquellen so “rumhacke”: ich möchte mich (aus Faulheit, ganz klar) nicht auch noch mit der Aktualisierung von composer rumschlagen. Das vergisst man dann im schlimmsten Fall und das wäre u.U. ja auch nicht so toll.
Ich unternehme aber einfach mal ein paar Gehversuche und dann bekommt man bestimmt schnell ein Gefühl dafür, was wie am besten umsetzbar ist.
Danke für den regen Austausch.
Perfekt!
in kurzen Worten:
composer ist für PHP das was apt für debian ist 🙂
Danke auch an dich. 🙂