Guides · Backups · ~3 min

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

  1. Open project settings

    In Supabase pick the project, then Project Settings → API Keys (or API).

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

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

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

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

Start with one site, free

The first site is free forever and asks for no card. Every extra site is $2.50 a month.