libretime/docs/admin-manual/backup.md

2.7 KiB

title sidebar_position
Backup 10

Create a backup

This guide walk you though the steps required to create a full backup of your installation.

:::info

Remember to automate and test the backup process and to have it run regularly. Having an automated and tested restoring process is also recommended.

:::

:::caution

Feel free to pick the backup software of your choice, but know that rsync and similar tools are not backup tools. You could use restic or borg.

:::

Backup the configuration

On common setups, you need to backup the entire /etc/libretime folder.

Backup the database

You need to backup the PostgreSQL database, which holds the entire data of your installation.

Here is an example to dump your PostgreSQL database:

sudo -u postgres pg_dump --file=libretime.sql libretime

:::note

Consider using the --no-owner and --no-privileges flags to ignore roles and permissions details about the database. This can be useful when restoring to database or role that have different names.

:::

Please read the pg_dump usage for additional details.

Backup the storage

You need to backup the entire file storage, which holds all the files of your installation.

The path to your storage is defined in the configuration file.

Restore a backup

Install or cleanup

If you are restoring a backup on a fresh system, we recommend that you first install LibreTime, and stop before the setup tasks.

If you are restoring a backup on an existing system, make sure to clean the old database and files storage.

Restore the configuration

Copy the backed configuration files back to the configuration folder.

If you are upgrading LibreTime, edit the configuration file to match the new configuration schema and update any changed values. See the configuration documentation for more details.

Restore the database

Restore the database by using the following command:

sudo -u postgres pg_restore --dbname=libretime libretime.sql

:::note

Consider using the --no-owner and --no-privileges flags to ignore roles and permissions details about the database. This can be useful when restoring to database or role that have different names.

:::

If you are upgrading LibreTime, make sure to apply the database migration.

Restore the storage

Copy the entire backed file storage back to the storage path.

The path to your storage is defined in the configuration file.