Skip to main content
PercherPercher

Migrating from Vercel

What works, what needs changes

Most Vercel projects deploy on Percher with minimal changes.

What works out of the box

What needs changes

Vercel Serverless FunctionsRun as a normal Node.js server (Express/Hono) — no cold starts
Vercel Edge FunctionsNot supported — use standard API routes
Vercel KV / Postgres / BlobUse PocketBase (mode = "pocketbase") or external service
vercel.json rewrites/redirectsHandle in your app code or framework config
Vercel Cron JobsUse [crons] in percher.toml
Vercel AnalyticsUse a third-party analytics service
ISR / On-demand RevalidationWorks — Next.js ISR runs in the container

Steps

# 1. Initialize Percher in your Vercel project
cd my-vercel-app
bunx percher init
# Percher auto-detects Next.js/SvelteKit/etc.

# 2. Add a health endpoint (if missing)
# Next.js: create app/api/health/route.ts
# export function GET() { return Response.json({ status: 'ok' }) }

# 3. Move env vars
bunx percher env set DATABASE_URL=...
bunx percher env set STRIPE_KEY=...

# 4. Deploy
bunx percher publish

# Your app is live at your-app.percher.run
# Add your custom domain: bunx percher domains add myapp.com
← PrevMigrating from ConvexNext →Custom domains
Percher — AI-native app hosting