Backup jobs (ops view) and restore expectations
SSH backup ops view: schedule, preflight, history. No in-app restore. Uploads are not in website backups.
Backup jobs (ops view) and restore expectations
Operate scheduled and manual backups. Restore is a manual ops step from the remote copies.
Where to find it
Admin → Backup (/admin/backup). Settings also under Settings → Mods → Backup mod (toggle.backup_mod).
How it works
| Piece | Detail |
|---|---|
| Schedule | backup_period: off / hourly (:15 UTC) / daily (03:30 UTC) / monthly (day 1 04:45 UTC) |
| Targets | Database (toggle.backup_database, default on) and/or website (toggle.backup_website, default off) |
| SSH | host, port (default 22), user, path, private key or password |
| Retention | keep N stamps (default 5, 1-100) or overwrite current/ |
Database uses pg_dump to the remote path. Website rsyncs the app tree excluding node_modules, .next, .git, .env*, the upload dir, and backup work dirs.
There is no in-app Restore. Recover with psql / file copy from the remote folders. Member uploads are not in website backups - back up local/remote/CDN storage separately.
Clear history deletes BackupRun rows only - not remote files. Schedule runs only when Backup mod is on, period ≠ off, and SSH host/user/path + auth are set.
Common problems
Schedule never runs
Backup mod off, period off, missing SSH auth, or SITE_BACKUP_DISABLED set.
Run now fails immediately
UI posts /api/admin/settings/backup/run - if that route is missing on your build, use the schedule (pg-boss worker) or fix the API. Save settings before retrying.
Clearing history deleted backups
It did not - only the in-app run log was cleared.