#backup and restore

4 messages · Page 1 of 1 (latest)

serene grotto
#

is it possible to restore a self hosted dev instance with production cloud hosted instance backup

balmy driftBOT
#

Hi @serene grotto. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:

#

Yes, this is possible in principle, but the docs only describe it indirectly, so there are a few caveats.

  1. Backups/export format is compatible
    Convex backups (downloaded from the dashboard or via npx convex export) are ZIP snapshots of all tables and storage, and they can be imported into another deployment while preserving _id and _creationTime fields. [Backup restore; Import docs]

  2. Self‑hosted ↔ cloud migration is supported via export/import
    The self‑hosting guide explicitly recommends using npx convex export and npx convex import to move data between self‑hosted and the cloud product. [Self-hosted guide]

  3. How you’d do it conceptually

    • From your cloud production deployment:
      • Download a backup from the dashboard, or run:
        npx convex export --path snapshot_prod.zip
        
        [Backup restore]
    • On your self‑hosted dev backend:
      • Import that snapshot:
        npx convex import --replace-all snapshot_prod.zip
        
        (The self‑hosted README shows --replace-all for full snapshot restores.) [Self-hosted README]
  4. Limitations / uncertainty

#
  • The docs clearly say export/import works between self‑hosted and cloud, but they don’t spell out this exact “cloud prod → self‑hosted dev” direction step‑by‑step. [Self-hosted guide]
    • Data import is a beta feature and may have issues for very old deployments. [Import warnings]

So: yes, restoring a self‑hosted dev instance from a cloud production backup is supported via npx convex export / npx convex import, but you should treat it as a full snapshot restore and be aware it’s using the beta import/export path.

Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: