Backups
Scheduled database backups can be configured for PostgreSQL, MySQL, MariaDB, MongoDB, and for the platform itself.
These schedules are based on cron expressions, so you can configure them to run as often as you want.
You can also use simple cron expressions like:
every_minute → * * * * *
hourly → 0 * * * *
daily → 0 0 * * *
weekly → 0 0 * * 0
monthly → 0 0 1 * *
yearly → 0 0 1 1 *
PostgreSQL
Creates a full backup of your PostgreSQL databases. You can specify which database to backup, with a comma-separated list.
The platform's own database is also backed up using this method.
Backup command
pg_dump --format=custom --no-acl --no-owner --username <username> <databaseName>
Restore command
pg_restore --verbose --clean -h localhost -U postgres -d postgres pg-dump-postgres-1697207547.dmp
MySQL
mysqldump -u root -p <password> <databaseName>
MariaDB
mariadb-dump -u root -p <password> <databaseName>
MongoDB
mongodump --authenticationDatabase=admin --uri=<uri> --gzip --archive=<archive>
Or if you want to exclude some collections:
mongodump --authenticationDatabase=admin --uri=<uri> --gzip --archive=<archive> --excludeCollection=<collectionName>
S3 Backups
You can define your own S3-compatible storage to store your backups.
Corelix adds encrypted S3 backups — transparent encryption at rest using rclone's crypt backend with NaCl SecretBox encryption. When enabled on a storage configuration:
- All backups uploaded to S3 are automatically encrypted before upload
- File names can optionally be encrypted for additional privacy
- Restoration automatically handles decryption
- Encryption is per-storage — you can have some storages encrypted and others not
Configure encryption in the storage detail page under the Encryption section. You'll need to set an encryption password (and optionally a salt for filename encryption).
Important: Store your encryption password securely. If lost, your encrypted backups cannot be recovered.