Direkt zum Hauptinhalt

Installation

Bookstack kann auf verschiedenen Plattformen installiert werden, siehe hierzu: Bookstack Docs Installation

Hier wird folgend nur die Bereitstellung mittels Docker beschrieben, da diese Instanz ebenfalls mittels Docker gehostet wird.

Bookstack benötigt für die Verwaltung der Daten eine MariaDB als Backend. Somit müssen 2 Container bereitgestellt werden, zum einen ein MariaDB Container und zum anderen der eigentlich Bookstack Container. Sofern schon eine MariaDB Instanz zu Verfügung steht, kann diese eingebunden werden, anstatt einen neuen Container bereitzustellen.

Am einfachsten ist die Bereitstellung mittels Docker Compose. Dazu einfach folgende Compose Datei anpassen:

services:
  bookstack:
    image: lscr.io/linuxserver/bookstack
    container_name: bookstack
    environment:
      - APP_URL=http://Server-IP
      - DB_HOST=bookstack_db
      - DB_PORT=3306
      - DB_USER=bookstack
      - DB_PASS=Ein_langes_Passwort
      - DB_DATABASE=bookstackapp
    volumes:
      - ./bookstack_app_data:/config
    ports:
      - 80:80
    restart: unless-stopped
    depends_on:
      - bookstack_db
  bookstack_db:
    image: lscr.io/linuxserver/mariadb
    container_name: bookstack_db
    environment:
      - MYSQL_ROOT_PASSWORD=Noch_ein_extra_langes_Passwort
      - TZ=Europe/Berlin
      - MYSQL_DATABASE=bookstackapp
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD=Ein_langes_Passwort
    volumes:
      - ./bookstack_db_data:/config
    restart: unless-stopped

Schauen wir uns noch einige Einstellungen im Detail an.

      - APP_URL=http://Server-IP

Die APP_URL gibt an, wie die Links innerhalb von Bookstack benannt werden sollen. Sollte Bookstack hinter einem Reverse Proxy agieren, ist hier die URL anzugeben, unter der Bookstack von außerhalb erreichbar sein soll. Auch wenn der Reverse Proxy mittels HTTP und unter einem anderen Namen auf den Bookstack Container zugreift, muss mittels der APP_URL die tatsächliche externe HTTPS URL angegeben werden. In diesem Beispiel wird die Server-IP eingegeben, dies ist nur für das lokale testen geeignet und ermöglicht es, dass auch von anderen Geräten innerhalb des selben Netzwerkes auf die URL zugegriffen werden kann. Wenn nur auf der Maschine getestet werden soll, die Bookstack bereitstellt, dann kann auch localhost angegeben werden.

Bereits vorhandene MariaDB verwenden

      - DB_HOST=bookstack_db
      - DB_PORT=3306
      - DB_USER=bookstack
      - DB_PASS=Ein_langes_Passwort
      - DB_DATABASE=bookstackapp

In diesem Codeabschnitt wird die Verbindung zur MariaDB konfiguriert. Sofern kein bestehender MariaDB-Server verwendet werden soll, muss hier nur das Passwort geändert werden.

Vorsicht: Das Passwort für den Datenbank Benutzer bookstack muss an 2 Stellen angepasst werden. Einmal im gezeigten Code Ausschnitt und bei der Konfiguration des 2. Containers für die MariaDB.

Wenn ein bereits vorhandener MariaDB-Server verwendet werden soll, dann muss auf diesen zuerst die Datenbank bookstackapp angelegt werden sowie der Benutzer bookstack. Diesem Benutzer müssen dann alle Rechte für die neue Datenbank ereilt werden. Anschließend muss mindestens der DB_Host in dem oben gezeigten Codeabschnitt angepasst werden. Außerdem kann der folgende Codeabschnitt aus der Konfiguration gelöscht werden:

    depends_on:
      - bookstack_db
  bookstack_db:
    image: lscr.io/linuxserver/mariadb
    container_name: bookstack_db
    environment:
      - MYSQL_ROOT_PASSWORD=Noch_ein_extra_langes_Passwort
      - TZ=Europe/Berlin
      - MYSQL_DATABASE=bookstackapp
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD=Ein_langes_Passwort
    volumes:
      - ./bookstack_db_data:/config
    restart: unless-stopped

Damit die Einstellungen und Daten auch nach dem neu erstellen eines Containers noch vorhanden sind, definiert die Konfiguration 2 Ordner als Volumes. In der Beispiel Konfiguration wird der aktuelle Ordner als Hauptordner verwendet, d. h. in diesem werden folgende Ordner erstellt: bookstack_app_data und bookstack_db_data. Es empfiehlt sich, hier absolute Pfade anzugeben wie: /home/user/bookstack anstelle des "."(Punktes).

Um die Docker Compose Konfiguration auszuführen, kann am besten in das Verzeichnis der YAML Datei gewechselt werden. Danach wird je nach nach gewählter Installation sudo docker-compose up -d oder sudo docker compose up -d (keine Bindestrich zwischen docker und compose) eingegeben, um die Standard Konfiguration docker-compose.yml zu starten. Compose erstellt dann die gewünschten Container mit den angegeben Optionen. Sollten die Container bereits mit dieser Compose Konfiguration erstellt worden sein, so werden die Container in dieser neu erstellt, dessen Konfiguration geändert wurde.

In wenigen Minuten sollte Bookstack unter http://Server-IP erreichbar sein.

Standard-Login:

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