How to back up a Supabase database nightly
Automatic nightly backups of your Supabase tables to Cloudflare R2, with alerts.
Supabase is a hosted Postgres many sites use. The free plan has no automatic backups. seops dumps every table to R2 each night, keeps 30 daily and 12 weekly copies, and warns when a row count drops suddenly.
What opens in seops
- Settings › Infrastructure › Connections › Supabase column: last backup, row count, download
- Alert when a row count falls sharply
Steps
-
Open project settings
In Supabase pick the project, then Project Settings → API Keys (or API).
-
Copy the project URL
Copy Project URL (
https://xxxx.supabase.co). In seops open Settings › Project settings and find the Connections · backups and WordPress card. Paste it in Supabase URL, Save. -
Copy the secret key
Reveal and copy the Secret key (service_role on the older screen). It reads every table, so it is not pasted in the dashboard; it is kept as a Cloudflare Worker Secret.
-
Add the key as a Worker Secret
There is no key field in the dashboard: the key is added to the panel's Cloudflare Worker as a Secret whose name is shown under Supabase URL on the same card (for example
SUPABASE_KEY_EXAMPLE_COM). The panel admin does this (Cloudflare Worker Secret guide); the dashboard only shows whether the Secret is set. -
Take the first backup
Settings › Infrastructure › Connections → the Supabase cell of the site → Back up now.
How to use it in seops
- Backups run nightly at 03:30; 30 daily and 12 Sunday copies are kept