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.json

Importing 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/import

Use Cases

  • Migrating from SQLite to PostgreSQL.
  • Moving to a new server.
  • Taking off-site backups.