Backups
Rootli offers different backup mechanics, which can be combined to guarantee the best possible protection from data loss.
- Using the cloud-provider's VM backup feature
- Using provider-independent incremental snapshots of user contents, website contents and databases
Cloud provider backups
Enable the cloud provider's backup option to create daily backups of the entire VM that can be restored through the provider's backend. The restoration can either overwrite the existing server or create a new server.
Provider-independent snapshotting
You should opt-int for provider-independent snapshotting. Each backup is stored in a snapshot that is saved incrementally to avoid duplication and saves huge amounts of space. To activate this feature, you will need to create at least one storage backend for your project, a backup repository and a backup job.
- Storage backends: A storage backend is a SFTP-server or S3 bucket that actually stores the data
- Backup repositories: A backup repository belongs to a single server and consists of a password, which is being used to encrypt the backup and an attached storage backend.
- Backup jobs: Backup jobs are scheduled tasks that actually perform the snapshot and add it to the backup repository
Create backups
Storage backends
A storage backend is a remote storage system that can be hosted by your cloud provider or every other service that is available through the public internet. It must offer a SFTP login with password authentification. If you add a storage backend to a project, it can be used by all servers attached to this project.
After choosing your current project, head over to the settings section. Now, choose "Storage backends". Click "Add storage backend" and enter the required connection information.
rootli to store backups in /rootli/<server-id>/<repository-id>. You may also nest the prefix deeper, e.g. rootli/backups, resulting in /rootli/backups/<server-id>/<repository-id>.Backup jobs
Backup jobs are basically scheduled jobs that create a new snapshot of your data and store it in a backup repository. You can add a new backup job by heading over to a server's detail page. On that page, you will see the quick settings card. Click the "Backups"-button.
Now click the "Backup jobs" button to create a new job. On the backup jobs table, click the button to add a new backup job. You may now choose the schedule and contents to be saved.
Possible contents are
- User content:
/home - Websites:
/var/www/vhosts, if the server has the Caddy Webserver role - Databases:
/var/backups/rootli/mariadb/current- rootli will also ensure that databases are being dumped to this location before the backup job is being performed
As the last step, choose a backup repository. If no repository exists yet, add a new one.
Backup repositories
A backup repository is a place that is being used to actually store the backups in. It requires a name, a password, as backups need to be encrypted and a storage backend to physically store the backups.
The easiest way to create a backup repository is to head over to the server's backup configuration as described in the configuration manual. After first setup, you will see the local backup repository, if you enabled local server backups during server creation.
Use the input field to enter a new name and choose "Create ..." by pressing the ↵ key. In the new drawer, choose a name and a password for your new repository. The last step is to choose a .
Restore backups
Of course, we are going to integrate the restoration process into the UI and CLI. For now, the easiest way to view and restore backups is to use the Kopia UI app.
To get started, head over to the repositories tab and choose "SFTP Server" or "Amazon S3 or Compatible Storage". Enter connection data, the path to your repository and the repository password.
/<path>/<server-id>/<repository-id> (SFTP) or /prefix/<server-id>/<repository-id> (S3). We are going to provide the required information in a more convenient way. For now, you could use a SFTP tool to browse your remote storage.