Bring your PocketBase with you: restore a backup into a new instance

Bring your PocketBase with you: restore a backup into a new instance
Moving a PocketBase instance used to be a two-step dance: create the empty instance, then open its admin panel and restore the backup by hand. The creation step now takes the backup directly — the new instance arrives with your data already in it.
pbc pocketbase create restored-db --backup backup.zip
Admin login: preserved from backup; credentials are not available to PocketBase Cloud.
Schema, records, uploaded files, and superusers arrive as they were. Log in with the same superuser email and password the backup was taken with — PocketBase Cloud never sees those credentials, which is why there is nothing to print.
Where the backup comes from
Any standard PocketBase backup: Settings → Backups in an instance’s admin panel, or from the terminal:
pbc admin settings backup create
pbc admin settings backup download <key> --out backup.zip
Self-hosted instances qualify too — a backup is a backup. That makes this the migration path in both directions: self-hosted to cloud, cloud to cloud, or a staging clone of production before a risky change.
Two things worth knowing
The 150 MB ceiling. The backup uploads through a presigned URL capped at 150 MB. Most instances fit comfortably — backups compress well — but if yours doesn’t, trim uploaded files first.
--backup and admin flags don’t mix. A fresh instance gets a generated
superuser, overridable with --admin-email / --admin-password. A
restored one keeps the backup’s superusers instead, so combining the two is
refused outright rather than silently ignored.
Same thing in the portal
The create form’s Admin Credentials & Mode section has a Restore Backup tab: drop the ZIP, watch the instance name suggest itself from the file name, and create. Everything else — region, compute, runtime flags — works exactly as on a fresh instance.
Full flags in Deploying PocketBase, day-to-day operations in Managing Your Instance.