backupd
Storage

Your own bucket

Copy every backupd backup to your own Amazon S3, Cloudflare R2, Google Cloud Storage, Backblaze B2 or MinIO bucket. A Pro feature.

Backups always land in backupd Storage. On Pro you can also add your own S3-compatible bucket, called a destination, to keep an extra copy you control. Each new backup and its manifest are copied there byte for byte, still encrypted.

Copying backups to your own bucket is part of Pro. On other plans, adding a destination shows Copying backups to your own bucket is part of Pro. Upgrade in Settings → Billing to add a destination.

Supported providers

  • Amazon S3
  • Cloudflare R2
  • Google Cloud Storage
  • Backblaze B2
  • MinIO

Add a destination

Owners and admins can add destinations. Open Destinations (or Settings → Destinations) and click Add destination.

FieldWhat to enter
ProviderOne of the providers above.
Display nameOptional. Defaults to the provider and bucket name.
BucketThe bucket name. It must already exist.
RegionThe bucket's region. Leave empty to use auto.
EndpointShown for Cloudflare R2, Backblaze B2 and MinIO, where it is required.
Access key ID and Secret access keyKeys that can read, write and list objects under the prefix. They are encrypted at rest.
Path prefixWhere backups go in the bucket. Defaults to backupd/. Letters, numbers, dashes, dots and slashes.

Click Test connection to check that backupd can reach the bucket, then Add destination. backupd also checks access when you add it, and shows Couldn't reach the bucket: … if it can't.

Per provider

  • Region: the bucket's region, for example us-east-1.
  • Endpoint: not needed.
  • Keys: an IAM access key with s3:PutObject, s3:GetObject and s3:ListBucket on the bucket and prefix.

How copies work

  • After each successful backup, the encrypted file and its .manifest.age manifest are copied to every destination.

  • Copies are retried automatically. If a copy still fails, the Copy to destination failed event goes to your notification channels.

  • Files are laid out by workspace, database and month:

    backupd/<workspace ID>/<database ID>/<yyyy>/<mm>/<backup ID>.pgdump.zst.age
    backupd/<workspace ID>/<database ID>/<yyyy>/<mm>/<backup ID>.pgdump.zst.age.manifest.age

    The extension depends on the engine: .pgdump, .sql, .archive or .zip. You'll find the database ID in the database's Settings tab and the backup ID on the backup's page.

  • Copies are encrypted to backupd's key and every key you have added. Add your own key so you can open them without backupd.

What backupd never does in your bucket

  • Retention doesn't apply. backupd doesn't delete expired backups from your bucket. Use your provider's lifecycle rules to expire old files.
  • Deleting a backup, removing a database or removing a destination leaves existing copies in your bucket untouched.

Remove a destination

Remove a destination from the Destinations page. New backups stop being copied there. Existing copies in that bucket are left untouched.

After a downgrade

If your workspace moves off Pro, new backups are no longer copied to your buckets. Copies already there stay where they are.

On this page