Warnung: Wenn dies ein Ordner ist, wird der gesamte Inhalt einschließlich Unterordner und Dokumente gelöscht.
Definieren Sie pfadbasierte Zugriffsregeln für Bereiche Ihres Wikis. Regeln werden in der Reihenfolge ausgewertet. Die erste Übereinstimmung gewinnt.
Erstellen und verwalten Sie Backups Ihrer Wiki-Daten. Backups umfassen alle Dokumente, Bilder und Konfigurationsdateien.
BookStack ist eine selbst gehostete, quelloffene Wiki-Plattform mit WYSIWYG- und Markdown-Editor, organisiert in Büchern, Kapiteln und Seiten, mit MariaDB als Datenbank-Backend.
Keine.
Tip
Optional
Wenn BookStack auch von außerhalb des Heimnetzes erreichbar sein soll, werden zusätzlich folgende Komponenten benötigt:
mkdir /syno/bookstack
mkdir /syno/bookstack/config
mkdir /syno/bookstack/db
Im Docker-Ordner folgende Verzeichnisstruktur anlegen:
bookstack
bookstack/config
bookstack/db
version: "2"
services:
bookstack:
image: lscr.io/linuxserver/bookstack
container_name: bookstack
environment:
- PUID=1000001
- PGID=1000001
- APP_URL=http://192.168.111.35:6875
- DB_HOST=bookstack_db
- DB_PORT=3306
- DB_USER=<db-user>
- DB_PASS=<db-passwort>
- DB_DATABASE=<db-name>
volumes:
# Für die Proxmox-VM verwenden
- /syno/bookstack/config:/config
# Für die Synology verwenden
# Volume-Nummer ggf. anpassen
- /volume2/docker/bookstack/config:/config
ports:
- 6875:80
healthcheck:
test: curl --fail http://127.0.0.1:80 || exit 1
interval: 60s
retries: 5
start_period: 60s
timeout: 10s
restart: unless-stopped
depends_on:
- bookstack_db
labels:
- "com.centurylinklabs.watchtower.enable=true"
- "com.centurylinklabs.watchtower.schedule=0 3 * * *"
bookstack_db:
image: lscr.io/linuxserver/mariadb
container_name: bookstack_db
environment:
- PUID=1000001
- PGID=1000001
- MYSQL_ROOT_PASSWORD=<mysql-root-passwort>
- TZ=Europe/Berlin
- MYSQL_DATABASE=<db-name>
- MYSQL_USER=<db-user>
- MYSQL_PASSWORD=<db-passwort>
volumes:
# Für die Proxmox-VM verwenden
- /syno/bookstack/db:/config
# Für die Synology verwenden
# Volume-Nummer ggf. anpassen
- /volume2/docker/bookstack/db:/config
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -u root --password=\"$$MYSQL_ROOT_PASSWORD\" --silent || exit 1"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
- "com.centurylinklabs.watchtower.schedule=0 3 * * *"
Note
Für beide Images ist kein offiziell dokumentierter Healthcheck verfügbar. Die oben verwendeten Healthchecks wurden selbst erstellt: bookstack prüft per curl die Erreichbarkeit auf Port 80, bookstack_db prüft per mysqladmin ping die Erreichbarkeit der Datenbank.
Note
Wird kein APP_KEY gesetzt, generiert BookStack beim ersten Start automatisch einen eigenen und speichert ihn persistent unter /config.
http://<host-ip>:6875APP_URL muss auf die tatsächlich genutzte Zugriffs-URL zeigen (hier http://192.168.111.35:6875), sonst funktionieren interne Links nicht korrekt| Oberfläche | Service | Host-Pfad | Container-Pfad | Zweck |
|---|---|---|---|---|
| Proxmox-VM | bookstack | /syno/bookstack/config |
/config |
BookStack-Konfiguration, Uploads, APP_KEY |
| Proxmox-VM | bookstack_db | /syno/bookstack/db |
/config |
MariaDB-Datenbankdateien |
| Synology | bookstack | /volume2/docker/bookstack/config |
/config |
BookStack-Konfiguration, Uploads, APP_KEY |
| Synology | bookstack_db | /volume2/docker/bookstack/db |
/config |
MariaDB-Datenbankdateien |
| Variable | Wert | Bedeutung |
|---|---|---|
PUID |
1000001 | Benutzer-ID für Dateiberechtigungen |
PGID |
1000001 | Gruppen-ID für Dateiberechtigungen |
APP_URL |
http://192.168.111.35:6875 |
Basis-URL, unter der BookStack erreichbar ist |
DB_HOST |
bookstack_db |
Hostname der Datenbank (Container-Name) |
DB_PORT |
3306 |
Datenbank-Port |
DB_USER |
(siehe Notizen) | Datenbank-Benutzer |
DB_PASS |
(siehe Notizen) | Datenbank-Passwort |
DB_DATABASE |
(siehe Notizen) | Datenbankname |
| Variable | Wert | Bedeutung |
|---|---|---|
PUID |
1000001 | Benutzer-ID für Dateiberechtigungen |
PGID |
1000001 | Gruppen-ID für Dateiberechtigungen |
MYSQL_ROOT_PASSWORD |
(siehe Notizen) | Root-Passwort der MariaDB-Instanz |
TZ |
Europe/Berlin | Zeitzone |
MYSQL_DATABASE |
(siehe Notizen) | Zu erstellende Datenbank |
MYSQL_USER |
(siehe Notizen) | Zu erstellender Datenbank-Benutzer |
MYSQL_PASSWORD |
(siehe Notizen) | Passwort des Datenbank-Benutzers |
Watchtower: für beide Services aktiviert, tägliches Update-Fenster um 03:00 Uhr (0 3 * * *)
Neustart-Verhalten: unless-stopped (beide Services)