# BackupDrill > BackupDrill is a Supabase disaster-recovery service: it backs up the Postgres database — plus Storage files once the project's Storage S3 keys are added — into the customer's own S3/R2/B2 bucket, then runs restore drills (weekly on paid plans, once on Free) that prove the backup actually restores. Plans: Free $0, Solo $19/month, Team $49/month, Agency $99/month — versus Supabase's official PITR add-on at $100/month per project, which covers the database only. Key facts: - The Free plan needs no credit card and has no time limit: 1 project, weekly backups, and one restore drill on the first backup. The first month of a first monthly subscription is $1, then full price; it does not apply to a resubscribe or to annual billing. - A Supabase database restore only brings back storage.objects metadata; the actual Storage files live in a separate object store and need their own backup. - Backups are written to the customer's own bucket — BackupDrill never stores backup data. - Restore drills restore the latest snapshot into a throwaway Postgres and verify it against a checksummed manifest. - The backup engine is an open-source (MIT) CLI. ## Docs - [Docs index](https://backupdrill.com/docs): overview of hosted setup, CLI, restore, and bucket setup - [Quickstart](https://backupdrill.com/docs/quickstart): set up hosted Supabase backups in six steps - [CLI](https://backupdrill.com/docs/cli): the open-source backupdrill CLI — commands, config, GitHub Actions scheduling, egress costs - [Restore & recovery](https://backupdrill.com/docs/restore): four ways to get the database and Storage files back from your bucket — the console recovery wizard (read-only preflight on every plan, one-click execution on paid plans, database-only in its first release), the CLI, your own artifacts, or raw pg_restore - [Bucket setup](https://backupdrill.com/docs/buckets): create a bucket and S3 credentials on Cloudflare R2, AWS S3, or Backblaze B2 ## Evidence - [A real restore drill report](https://backupdrill.com/drill-report): the full terminal output of an actual drill (13 tables, 1,495,250 rows, 250 Storage files checksummed), what each check proves and does not prove, and a script that reproduces the run ## Guides - [How to back up a Supabase project](https://backupdrill.com/guides/supabase-backup): every option compared — built-in Pro backups, PITR, DIY pg_dump, BackupDrill - [The best Supabase backup tools in 2026](https://backupdrill.com/guides/best-supabase-backup-tools): six tools compared honestly — official backups and PITR, Databasus, SimpleBackups, supabackup, DIY GitHub Actions, BackupDrill - [How to test that your Supabase backup actually restores](https://backupdrill.com/guides/test-supabase-backup-restore): the manual restore drill with working commands, the open-source CLI, and scheduled hosted drills - [Automatic Supabase backups with GitHub Actions](https://backupdrill.com/guides/supabase-backup-github-actions): the Free plan has no automated backups — a complete scheduled workflow with secrets setup, the 5 GB/month egress reality, and restore verification - [Does the Supabase free plan include backups?](https://backupdrill.com/guides/supabase-free-plan-backups): no — what Free actually gives you, the one-week pause clock and 1-year restore window, and three ways to back up a free project - [Supabase project paused: why it happens and how to unpause it](https://backupdrill.com/guides/supabase-project-paused): the 7-day inactivity rule, the Resume steps, why the 90-day deadline is now 1 year, and how to migrate the data out once that window closes - [How to download a Supabase backup as a .sql file](https://backupdrill.com/guides/download-supabase-backup-sql): physical-backup projects cannot download Supabase's own backups — the pg_dump command that produces a restorable .sql, the supabase db dump no-data trap, and scheduling - [How to export a Supabase database](https://backupdrill.com/guides/export-supabase-database): schema-only vs data-only vs a full archive, the three-command CLI sequence, pg_dump flags, cloning to a new project, and why Storage files are never in an export - [How to restore a Supabase backup and roll back bad changes](https://backupdrill.com/guides/restore-supabase-backup): dashboard restore, PITR, pg_restore into a fresh project (never --clean), and single-table rollback from a custom-format dump - [How to back up a Supabase project built with Lovable](https://backupdrill.com/guides/lovable-supabase-backup): Lovable Cloud offers export paths but not the underlying Supabase project; a connected Supabase project is a normal project you back up yourself - [Supabase restores don't bring back Storage files](https://backupdrill.com/guides/supabase-storage-backup): why, and how to back the files up - [Supabase point-in-time recovery (PITR), explained](https://backupdrill.com/guides/supabase-point-in-time-recovery): WAL archiving every 2 minutes, the $100/$200/$400 retention tiers, the Small-compute requirement that makes the real bill ~$130/month, what PITR replaces, and how to remove it - [A disaster recovery runbook for Supabase](https://backupdrill.com/guides/supabase-disaster-recovery): RPO/RTO in Supabase terms, a failure-scenario-to-recovery-path matrix, a triage runbook, and a 15-point checklist - [Back up Supabase to Cloudflare R2](https://backupdrill.com/guides/supabase-backup-to-cloudflare-r2): bucket and S3 credentials, endpoint and path-style details, CLI config, GitHub Actions schedule — and why zero egress fees matter for restores - [Back up Supabase to AWS S3](https://backupdrill.com/guides/supabase-backup-to-aws-s3): bucket and least-privilege IAM with the exact policy, CLI config with region instead of endpoint, GitHub Actions schedule, and lifecycle rules for old snapshots - [Back up Supabase to Backblaze B2](https://backupdrill.com/guides/supabase-backup-to-backblaze-b2): the cheapest storage of the three destinations — bucket and application key setup, the keyID to Access Key ID mapping, CLI config, and lifecycle housekeeping - [Back up Supabase to Google Drive](https://backupdrill.com/guides/supabase-backup-to-google-drive): Drive is not S3-compatible and BackupDrill does not support it — two honest paths (DIY pg_dump + rclone + GitHub Actions, or supabackup) and why teams end up on object storage ## Compare - [Supabase PITR vs BackupDrill](https://backupdrill.com/compare/supabase-pitr): cost and coverage — PITR wins outright on recovery granularity - [SimpleBackups vs BackupDrill](https://backupdrill.com/compare/simplebackups): breadth versus verified restorability - [Databasus vs BackupDrill](https://backupdrill.com/compare/databasus): both restore-test backups — free self-hosted versus hosted with Storage files in the drill ## Open source - [backupdrill CLI on GitHub](https://github.com/backupdrill/cli): the MIT backup engine the hosted service runs - [backupdrill on npm](https://www.npmjs.com/package/backupdrill): install with npm install -g backupdrill ## Optional - [Full site facts for LLMs](https://backupdrill.com/llms-full.txt): condensed product definition, pricing, drill checks, egress costs, FAQ - [Terms of Service](https://backupdrill.com/terms) - [Privacy Policy](https://backupdrill.com/privacy)