Backups & Migration
Since V2 uses a relational database, simply copying files isn't always practical (especially with Postgres). Go-Upkeep provides a JSON API for full data portability.
You must set the
UPKEEP_CLUSTER_SECRET environment variable to use the backup endpoints.Exporting Data
This downloads a JSON file containing all Sites, Alerts, and Users.
Terminalbash
curl -H "X-Upkeep-Secret: YOUR_SECRET" \
http://your-server:8080/api/backup/export > backup_2026.jsonImporting Data
This is a destructive action. It will wipe the target database (Sites, Alerts, Users) and replace it with the data from the JSON file.
Terminalbash
curl -X POST \
-H "X-Upkeep-Secret: YOUR_SECRET" \
-d @backup_2026.json \
http://new-server:8080/api/backup/importUse Cases
- Migrating from SQLite to PostgreSQL.
- Moving to a new server.
- Taking off-site backups.