Backup and Restore
BookStack does not currently have a built-in way to backup and restore but it can be done via the command line fairly simply.
Please note the below commands are based on using Ubuntu. If you are using a different operating system you may have to alter these commands to suit.
Backup
There are two types of content you need to backup: Files and database records.
Database
The easiest way to backup the database is via mysqldump
:
If you are using MySQL on Ubuntu, and are using the root
MySQL
user, you will likely have to run the command above with sudo
:
|
|
The resulting file (bookstack.backup.sql
in the examples above) will contain
all the data from the database you specified. Copy this file to somewhere safe,
ideally on a different device.
Files
Below is a list of files and folders containing data you should back up. The paths are shown relative to the root BookStack folder.
.env
- File, Contains important configuration information.public/uploads
- Folder, Contains any uploaded images (If not using amazon s3).storage/uploads
- Folder, Contains uploaded page attachments (Only exists as of BookStack v0.13).
Alternatively you could backup up your whole BookStack folder but only the above are non-restorable.
The following command will create a compressed archive of the above folders and files:
|
|
The resulting file (bookstack-files-backup.tar.gz
) will contain all your file
data. Copy this to a safe place, ideally on a different device.
Restore
If you are restoring from scratch follow the installation
instructions first to get a new BookStack instance set-up.
Do not run the php artisan migrate
installation step when installing BookStack.
You may need to comment this command out if using an installer script. If using
a docker container, restore the database before running the BookStack container.
Once you are sure the new instance is set-up follow the instructions below.
Database
To restore the database you simply need to execute the sql in the output file from the mysqldump
you performed above. To do this copy your database SQL backup file onto the
BookStack or database host machine and run the following:
|
|
If you are restoring to a new version of BookStack you will have to run
php artisan migrate
after restore to perform any required updates to the database.
Files
To restore the files you simply need to copy them from the backup archive
back to their original locations. If you created a compressed bookstack-files-backup.tar.gz
archive as per the backup instructions above you can simply copy that file to
your BookStack folder then run the following command:
|
|
If you get errors during the above command it may be due to permissions. Change permissions so you can write to the restore locations.
After a backup of the files you should reset the permissions to ensure any write-required locations are writable by the server. The locations required for this can be found in the installation instructions.