feat(ops): instance backup + restore scripts #76
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Status/Abandoned
Status/Blocked
Status/Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
project-halkyon/halkyon-infra!76
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/instance-backup-scripts"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Operator disaster-recovery scripts for a self-hosted Supabase instance (run on the host that runs it):
scripts/backup-instance.sh— writes a datedbackups/halkyon-<date>/directory containing:db-<date>.sql.gz—pg_dumpall: the whole cluster + roles/globals (public app data + reference tables,auth,storagemetadata, RLS/RPCs/triggers/publication).storage-<date>.tar.gz— the Storage object bytes for every bucket, including the per-userbackupsbucket.config/—supabase/config.toml+ any.env(secrets).MANIFEST.txt— timestamp, container names, infra git commit, file sizes.scripts/restore-instance.sh— replays a backup into a fresh instance (typedrestoreconfirmation; re-extracts the storage volume). Config/secrets aren't auto-applied — the instance must come up with the same JWT secret or existing tokens + the app's anon key stop validating.Notes
backupsbucket (in-app content rollback), which lives on the same instance and is captured by the storage step.supabase_db*/supabase_storage*) with env overrides; both scriptsbash -n-clean and executable..gitignorekeeps dumps / tarballs / secrets out of the repo;scripts/README.mddocuments usage + restore caveats.