docs: Add a Serverpod Cloud database backups page#688
Conversation
Zfinix
left a comment
There was a problem hiding this comment.
LGTM 🚀 great work on this.
nit (non-blocking): the $6 / 10 GB rate will drift as plans change — consider dropping the exact number here and letting the plans page own it, keeping the "separate metered charge, same rate as database storage" framing.
|
|
||
| ## Pricing | ||
|
|
||
| Backup storage is billed separately from your regular database storage, as its own charge rather than counting against your database usage. It uses the same package pricing as database storage, $6 per 10 GB per month, prorated for partial months, and applies only on the Growth plan. A schedule usually costs less than keeping the same number of manual snapshots. Each manual snapshot is a full copy, while a scheduled series stores one full copy plus the changes between snapshots. For current plan pricing, see [Serverpod Cloud plans](https://serverpod.dev/cloud). |
There was a problem hiding this comment.
nit (non-blocking): the $6 / 10 GB rate will drift as plans change. Consider dropping the exact number here and letting the plans page own it, keeping the "separate metered charge, same rate as database storage" framing.
Isakdl
left a comment
There was a problem hiding this comment.
Good work! I like it,
I do have some thoughts and suggestions. I will probably not be available when you will merge this, so you can dismiss my needed rereview.
| scloud db schedule set --frequency weekly --day 1 --hour 3 --retention 30d | ||
| ``` | ||
|
|
||
| Use `--day` to pick the day of the week (1-7) for a weekly schedule or the day of the month (1-31) for a monthly one; it defaults to 1 and does not apply to a daily schedule. Use `--hour` for the hour of the day (0-23, in UTC); it defaults to 0. Use `--retention` (for example `30d`) to set how long each scheduled snapshot is kept before it is deleted automatically. Without `--retention`, scheduled snapshots are kept for the platform's default retention. |
There was a problem hiding this comment.
snapshots are kept for the platform's default retention.
Suggestion: This should specify what the default is not "platform's default" that will not help anyone reading this.
There was a problem hiding this comment.
What is the default value here @Isakdl @christerswahn?
| Do you want to proceed? | ||
| ``` | ||
|
|
||
| The connection string and database credentials do not change, so your deployed server keeps working against the same database with no config change. The state from just before the restore is kept as a separate backup, so an accidental restore can itself be recovered from. |
There was a problem hiding this comment.
Comment: This is true, but we have no mechanism exposed right now to do the recover. Sync with @christerswahn what will be available, but my hunch is that we should remove this from the docs until we have added this support.
|
|
||
| ## Pricing | ||
|
|
||
| Backup storage is billed separately from your regular database storage, as its own charge rather than counting against your database usage. It uses the same package pricing as database storage, $6 per 10 GB per month, prorated for partial months, and applies only on the Growth plan. A schedule usually costs less than keeping the same number of manual snapshots. Each manual snapshot is a full copy, while a scheduled series stores one full copy plus the changes between snapshots. For current plan pricing, see [Serverpod Cloud plans](https://serverpod.dev/cloud). |
Summary
Adds a Serverpod Cloud Database backups concept page documenting the new
scloud db backupandscloud db schedulecommands: manual snapshots, scheduled backups, restore, plan gating, and pricing.cloud_docs/concepts/database-backups.md(Overview, when-to-use, the five operations, Pricing, Limits, Related).## Backupsstub on the Database page (it claimed backups were automatic and needed no configuration) into a short pointer to the new page.personal-access-tokens6→7,deployment-hooks7→8).Do not merge until the feature is released
The backup CLI is on
mainin the cloud repo but not yet in a releasedscloud, and the web console is still in progress (CLD-505). Keep this open for review and merge once the feature ships (targeting ~week of Jul 20). Console sections will be added in a follow-up once the console lands.Verification
Every claim was checked against the cloud repo at
origin/main(backup CLI shipped in #2090):npm run buildpasses (no broken links or anchors).Notes for reviewers