Skip to main content
Percher is still being built and account creation is paused — get notified when it opens.

Migrating from Convex

Keep Convex or switch to PocketBase

Ask your agent
Plan how to move my Convex app to Percher. Inventory the data model, functions, auth, and secrets first; do not delete or overwrite anything without my approval.Read the guide at percher.app/docs/migrate-convex
Keep my Convex, but host the app on Percher.Read the guide at percher.app/docs/migrate-convex
How it works, with exact details

Option 1: Keep Convex (easiest)

# percher.toml
[data]
mode = "convex"

[data.convex]
deployment_url = "https://your-project.convex.cloud"

# CONVEX_URL and VITE_CONVEX_URL are injected automatically.
# Your existing Convex client, queries, and mutations keep working.

Option 2: Switch to PocketBase

Concept mapping:

useQuery(api.tasks.list)pb.collection('tasks').getList()
useMutation(api.tasks.create)pb.collection('tasks').create({})
Convex schema (schema.ts)PocketBase collections (admin UI or API)
Convex functions (convex/)API routes in your app
Convex auth (clerk/auth0)PocketBase built-in auth
Convex file storagePocketBase file fields
Realtime (automatic)pb.collection('x').subscribe('*', fn)

Key difference: Convex runs server functions in their cloud. With PocketBase, your API routes run in your app container. Move Convex functions to Express/Hono/Next.js API routes.