Bookstack Proxmox VE Community Script
BookStack
Installing überBookstack via Proxmox Communitycommunity Scriptsscripts installierenis
Dievery Installationeasy. vonIt BookStackis überinstalled dievia Proxmox VE Community Scripts ist sehr einfach. Sie erfolgt über dieses Skript:
this Proxmox VE Community Script: Bookstack
DasIt Skriptsetups erstellta einenlxc LXC-Containercontainer mitwith Debian und installiert sowie konfiguriert alles Notwendige.
Betriebssystem im Container (Stand Beispiel):
root@lxc-bookstack:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.2
ID=debian
...HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@lxc-bookstack:~#
MariaDB-Datenbankand (Beispiel-Status):installs and configures a MariaDB database
root@lxc-bookstack:~# systemctl status mariadb --no-pager
● mariadb.service - MariaDB 12.2.1 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: enabled)
Drop-In: /etc/systemd/system/mariadb.service.d
└─migrated-from-my.cnf-settings.conf
Active: active (running) since Sun 2025-12-14 14:15:56 UTC; 19min ago
...
Backup
ZumTo Sichernbackup derbookstack BookStack-Dateienfiles undand Inhalteentries, gibtthere esis eina integriertescli CLI-Tool.tool which can be used.
VerbindeEnterdichthedirektLXCmitdirectlydemorLXC-Container (z. B. über die Proxmox-Konsole oderusepct enter <CTID>)to access the LXC container.WechslechangeinintodastheBookStack-Verzeichnis:bookstackfolder
cd /opt/bookstackStarteexecutedentheBackup-Befehl:cli cmd to backuproot@lxc-bookstack:~# cd /opt/bookstack/ root@lxc-bookstack:/opt/bookstack# ./bookstack-system-cli backup
Beispielausgabe:
WARNING: This CLI is in alpha testing.
There's a high chance of issues, and the CLI API is subject to change.
Checking system requirements...
Dumping the database via mysqldump...
Adding database dump to backup archive...
Adding BookStack upload folders to backup archive...
Adding BookStack theme folders to backup archive...
Saving backup archive...
Backup finished.
Output ZIP saved to: /opt/bookstack/storage/backups/bookstack-backup-2025-12-14-143913.zip
Die fertige Sicherung liegt dann als ZIP-Datei im Verzeichnis root@lxc-bookstack:/opt/bookstack/storage/backups/.
Restore (Wiederherstellen)
Um ein Backup wiederherzustellen, gehe wie folgt vor:
Verbinde dich mit dem LXC-ContainerWechsle ins BookStack-Verzeichnis:cd /opt/bookstackbookstack#StartedenRestore
Restore-BefehlTo
undrestoregibadenbackup,PfadlogzurinZIP-Dateitoan:the BookStack LXC and change into the BookStack installation directory. From there, run the BookStack system CLI with therestorecommand and provide the path to the backup file.root@lxc-bookstack:/opt/bookstack# ./bookstack-system-cli restore storage/backups/bookstack-backup-2025-12-12-162653.zip
During
Währendrestore desprocess, Vorgangs zeigt diethe CLI einewill Zusammenfassungdisplay desa Backup-Inhaltssummary undof warntthe vorcontents denfound Auswirkungen:in the backup and warn about the implications of restoring:
BestehendeExistingDateienfilesundandhochgeladeneuploadedInhaltecontentwerdenwillüberschriebenbe overwrittenVorhandeneExistingDatenbanktabellendatabasewerdentablesgelöschtwill be droppedDieTheZielinstanztargetmussinstancediemustgleichebeodertheeinesameneuereorBookStack-Versionahabennewer BookStack version- Server-
seitigelevelKonfigurationenconfiguration(z.isB.not/etc/...) werdennichtwiederhergestelltrestored
DuYou wirstwill vorbe derprompted eigentlichento Ausführungconfirm zurbefore Bestätigungthe aufgefordert.restore is executed.
WichtigerPermissions Hinweisnote zuwhen Berechtigungenrestoring beimfrom Restoreoutside vonthe außerhalb des Containerscontainer
DieserThis Abschnittprobably behandeltsolves einthe häufigissue auftretendesyou Problem,might wennencounter manafter nacha einemrestore Restorewhen keineyou Dateienwant mehrto hochladenupload kann.files.
WennIf duyou dasmounted LXC-Root-Dateisystemthe aufLXC demroot Proxmox-Hostfilesystem gemounteton hastthe undProxmox dashost Backupand voncopied außena inbackup deninto Containerthe kopiertcontainer hast,from outside, führedo not run bookstack-system-cli niemalson direktthe aufhost dem Host aussystem. DasRunning führtthe zuCLI falschenoutside Datei-Eigentümernthe undcontainer -Berechtigungen.can result in incorrect file ownership and permissions.
FallsIf dasthis Problemhas bereitsalready aufgetretenhappened, ist,the kannstpermissions ducan diebe Berechtigungencorrected vomfrom Proxmox-Hostthe ausProxmox korrigieren:host.
BeispielIn (angenommenthe Container-following example, the BookStack container ID =is 120):120. Adjust this value to match your environment.
# LXC-Root-DateisystemMount mountenthe LXC root filesystem
pct mount 120
# → mounted CT 120 in '/var/lib/lxc/120/rootfs'
# InChange dasinto BookStack-Verzeichnisthe wechselnBookStack directory
cd /var/lib/lxc/120/rootfs/opt/bookstack
# AktuelleInspect Eigentümercurrent prüfenownership
ls -l
BeispielausgabeExample (falsch):output:
root@pve:/var/lib/lxc/120/rootfs/opt/bookstack# ls -l
total 755
drwxr-xr-x 23 100033 100033 23 Dec 14 12:52 app
-rwxr-xr-x 1 100033 100033 1685 Dec 14 12:52 artisan
KorrekturTo dercorrect Berechtigungen:the ownership, apply the following command:
chown -R 100033:100033 *
In dieserthis Installationsetup, entsprichtthe UID and GID 100033:100033demcorrespond Benutzerto und der Gruppethe www-data innerhalbuser desand Containers.group inside the container.
Hinweis:Hint
Using php artisan bookstack:regenerate-permissions behebtdoes keinenot Dateisystem-Berechtigungenfix oderfile Eigentümer.ownership Eror kannfilesystem diesespermissions. ProblemAs nichtsuch, lösen.it cannot be used to resolve this issue.
Empfohlene Vorgehensweise (Best Practice):
- is
LXC-Root-Dateisystem mounten (pctto mount<CTID>)the Backup-ZIP-DateiLXCanrootdenfilesystemrichtigenonOrtthekopierenhost, SofortcopydietheBerechtigungenbackupkorrigierenfile(chowninto-Rplace,100033:100033immediately...)correct Dateisystemownershipwiederandunmountenpermissions,(pctthen unmount<CTID>)the Inrootdenfilesystem.ContainerAfterwechseln (pctthat, enter<CTID>)theundcontainerdenandRestore-Befehlexecuteausführenthe
Socommands. bleibenThis dieensures Berechtigungenthat durchgehendcorrect korrekt.permissions are maintained throughout the entire process.