Backup and restore are available to platform superusers on self-hosted deployments. Cloud-hosted accounts are backed up automatically by CertForge — contact support to request a restore.
Scheduled backups
The easiest way to protect your data is to let CertForge back itself up automatically.- Log in as a superuser and go to Admin → System Health.
- Scroll to Backup Schedule.
- Check Enable scheduled backups.
- Choose a schedule — Hourly, Daily, or Weekly.
- Set Keep last N backups (default: 7). Older files are pruned automatically after each backup.
- Optionally set a custom Backup directory (defaults to
{data_path}/backups/). - Click Save Schedule.
On-demand backups
Two options are available under Admin → System Health → Database:Backup history
Every backup — scheduled or manual, success or failure — is recorded in the Audit Log with the timestamp, actor, file name, and size. Restore events are also logged. To view backup history: go to Admin → Audit Log and search forbackup.
Saved backups
Admin → System Health → Saved Backups lists all backup files currently on disk. For each file you can:- Download — save the file to your local machine
- Restore — restore the database from this file (requires typing
RESTOREto confirm) - Delete — remove the file from disk (the audit log entry is retained)
Restore
From a saved backup
- Go to Admin → System Health → Saved Backups.
- Click ↺ Restore next to the file you want.
- Type
RESTOREin the confirmation field and click the button. - Restart the service when prompted — this reloads in-memory state from the restored database.
From an uploaded file
Use this to restore from a backup file you downloaded previously, or from a backup taken on a different server.- Go to Admin → System Health → Restore from Upload.
- Select the
.sql.gzbackup file from your local machine. - Type
RESTOREin the confirmation field and submit. - Restart the service after completion.
After a restore
After any restore, restart the CertForge service. This is required to clear cached state — settings, trust context, and active sessions are held in memory and will reflect the pre-restore state until the process restarts. Users will be signed out and will need to log in again after the restart.Backup file format
Backup files are namedcertforge-YYYY-MM-DDTHHMMSSZ.sql.gz — plain SQL, gzip compressed. They include DROP TABLE IF EXISTS statements so they can be restored cleanly without manual cleanup.
You can inspect any backup without restoring it: