Backup and Restore
Beschreibung:
Bookstack besteht aus Dateien und Der Datenbank
Hier liegen die Dateien bzw Verzeichnisse
.env- File, contains important configuration information.public/uploads- Folder, contains any uploaded images.storage/uploads- Folder, contains uploaded page attachments.themes- Folder, contains any configured visual/logical themes.
Backup:
Backup Manuell:
Die Dateien sichern.
In das Verzeichnis gehen bei ner direkt installation:
cd /var/www/Bookstack
Bei ner docker installtion reicht das ganze Projektverzeichnis, das der Vorteil von der Docker.
nun ein archiv erstellen
tar -czvf bookstack-files-backup-$(date +"%Y-%m-%d_%H-%M-%S").tar.gz .env public/uploads storage/uploads themes
Nun die Datenbank sichern
mysqldump -u root bookstackdb > bookstack.backup-$(date +"%Y-%m-%d_%H-%M-%S").sql
Diese beiden Datein ins root Verzeichnsi vom neuen Server kopieren via scp zum Beispiel
Restore/Migration:
Manuell:
Im Docker container, weil direkt installation machen wir in Zukunft nicht mehr:
Falls der Conatiner schon unglücklicherweise gestartet wurde den container app stoppen
docker-compose stop app down
Das Datenverzeichnis löschen
rm -r /root/bookstack/bookstack_data
Nun in phpmyadmin alle Tabellen löschen, falls der Conateiner schon gestartet wurde.
Nun die Datenbank restoren via phpmyadmin
Nun den app key aus der alten instance in die .env Datei eintragen.
in einer nicht Docker installation leigt diese dann unter
cat /var/www/Boockstack/.env
Ein bisschen hochscrollen da steht der APP_KEY diesen kopieren und in die neue .env einfügen / ersetzten
Nun die tar Datei hochladen die wir im Punkt backup erstellt haben
scp bookstack-files-backup-2025-02-02_14-23-51.tar.gz root@<ip>:/root/bookstack
Nun das archiv entpacken nach bookstach_data
tar -xf bookstack-files-backup-2025-02-02_14-26-12.tar.gz -C /root/bookstack/bookstack_data
Nun die Pfade eventuell anpassen wenn die URL sich geändert haben sollte, sonst diesen Schritt überspringen
Dazu in die instance einloggen
docker-compose exec app bash
Nun ins Verzeichnis von bookstack gehen
cd /app/www
Nun mittels php artisan die Urls aktualisieren, als erstes die alte URL als zweiten Parameter die neue.
Falls die alte URL einen port mit dran ahtte zum docs.example.com:3000 dann diesen auch so angeben
# Searches for <oldUrl> and replaces it with <newUrl>
php artisan bookstack:update-url <oldUrl> <newUrl>
# Example:
php artisan bookstack:update-url http://docs.example.com https://demo.bookstackapp.com
Nachbearbeitung bei ManuelManuell wie auch mit Backup Tool:
Tool wenn das Ziel KEIN Docker ist:
Sollte nicht auf die gleiche Version migriert werden nachdem der Container gestartet ist, die migration ausführen das die Datenbank angepasst wird.
Dzu einmal in den container einloggen
docker-compose exec app bash
Dann diese Befehler ausfürhen
cd /app/www
php artisan migrate
Ausgabe:
php artisan migrate
APPLICATION IN PRODUCTION.
┌ Are you sure you want to run this command? ──────────────────┐
│ ● Yes / ○ No │
└──────────────────────────────────────────────────────────────┘
bestätigen