Skip to main content
PercherPercher

Decision guide

Percher or Vercel?

Vercel is the production hosting platform for Next.js — fast global edge, deep Git integration, and a polished serverless runtime tuned by the team that maintains Next.js itself. Both Vercel and Percher ship MCP servers for AI assistants today; the real difference is depth. Percher is built around MCP as the primary deploy surface — 42 tools covering publish, logs, env, rollback, doctor, backups, domains and GitHub-connect, plus a typed `recovery.nextAction` contract so failed deploys chain into the next tool call automatically. Pricing is flat per account (€0 / €3 / €12 / €29) with no bandwidth meter. If you're shipping a serious Next.js app at scale with a team, Vercel is the safer bet; if you want your assistant to run the whole operational loop and the bill not to surprise you on a viral weekend, Percher is built for that workflow.

Who Percher is for

Percher is built for personal apps — projects you build for yourself or your close circle. It is notpositioned as production-grade or enterprise hosting today: there is no uptime SLA, no formal compliance attestation, and a single region in Germany. If you're shipping a monetised SaaS, an app for paying customers, or anything that needs an SLA, Vercel or a higher-tier provider is the safer choice. Percher may grow into that space; it is not there now.

At a glance

FeaturePercherVercel
Free tierFree plan (2 apps, sleep after 10 min idle)Hobby plan (personal projects, non-commercial)
Paid entry price€3/mo (Starter) — flat, per account$20/user/mo (Pro) — as of 2026-05
Pricing modelFlat monthly subscriptionPer-seat + usage-based (bandwidth, builds, functions)
Bandwidth modelUnmetered within VPS capacityIncluded quota + per-GB overage
RegionSingle region (Falkenstein, DE)Global edge network
Compute modelLong-running containers per appServerless functions + edge runtime
Built-in databaseOpt-in managed PocketBase per app (SQLite + auth + file storage) via `[data] mode = "pocketbase"`None native — Marketplace integrations (Neon, Supabase, …)
Built-in authYes (when PocketBase is enabled) — auth out of the box with PocketBaseNo — bring your own (Auth.js, Clerk, etc.)
MCP serverMCP-first: 42 tools covering the full operational surface (publish, logs, env, rollback, doctor, backups, domains, GitHub connect) with a typed `recovery.nextAction` contract for chaining failures into fixesHas an MCP server for deployment management (Vercel MCP) — focused on project / deployment lookup and log retrieval
Framework supportNode, Bun, Python, static, any DockerfileNext.js first-class; broad framework support otherwise
Custom domainsYes (paid plans)Yes
Automatic SSLYes — Let's Encrypt via CaddyYes
Data residencyEU only (Germany)Global; region selection per project
RollbackInstant per-deploy rollbackInstant per-deploy rollback

When Percher is the better choice

  • You want the assistant to do more than `publish` — full operational surface (logs, env, rollback, doctor, backups, domain add, GitHub connect) as MCP tools, plus a typed `recovery.nextAction` so a failed deploy turns into the next tool call automatically.
  • You want predictable flat-rate pricing without bandwidth or build-minute surprises — the same €0 / €3 / €12 / €29 every month.
  • You want a managed PocketBase database, auth, and file storage available with one config line (`[data] mode = "pocketbase"`), instead of stitching together Marketplace integrations.
  • Your project must stay in the EU for data-residency or compliance reasons. Percher's infrastructure is single-region in Germany.
  • You're a solo builder or small team and Vercel's per-seat Pro plan is over-spec'd for your headcount.

When Percher is the wrong choice (and Vercel fits better)

  • You're building a serious Next.js app that depends on Vercel-specific features at scale: ISR with on-demand revalidation, image optimization, edge middleware, or Server Actions tuned to Vercel's runtime.
  • Your audience is global and edge latency matters. Percher runs in one region; Vercel's edge network has many more.
  • You have a team that benefits from Vercel's collaboration features — preview comments, branch protection rules, role-based access control.
  • You need enterprise compliance (SOC 2, HIPAA, regional data processing agreements). Percher is a young single-team project; Vercel's compliance surface is larger.
  • You're already invested in Vercel's data products (KV, Postgres, Blob) or its monitoring stack and don't want to migrate them.

Migrating from Vercel

If your Vercel project is a Next.js, SvelteKit, Astro, Remix, or plain Vite app, the migration is mostly mechanical. Percher's CLI has an `import` command that reads `vercel.json` and generates a working `percher.toml`, then `publish` builds and deploys exactly like Vercel would. Environment variables don't migrate automatically — set them with `percher env set` (or paste them in the dashboard). Domains move once the app is live by adding the domain in Percher and updating the DNS records the CLI prints.

What doesn't carry over: Vercel Edge Functions (`runtime: 'edge'` in Next.js) need to be converted back to standard Node runtime — Percher's compute is regional containers, not edge. Vercel KV, Postgres, and Blob storage have no direct equivalent. For the SQLite + auth + S3-compatible file storage shape, opt into the managed PocketBase sidecar with `[data] mode = "pocketbase"` in percher.toml — Percher provisions the sidecar on first deploy and injects `POCKETBASE_URL` automatically. For raw Postgres specifically, point `DATABASE_URL` at any external provider — Neon, Supabase, your own server.

# In your project root (where vercel.json lives):
bunx percher import          # reads vercel.json -> percher.toml
bunx percher env set DATABASE_URL=...  # for each env var
bunx percher publish         # build + deploy
bunx percher domains add yourdomain.com

FAQ

Can I deploy a Next.js app to Percher?

Yes. Percher detects `next.config.js` automatically and builds with `bun run build` — no Percher-specific changes to your Next.js code. Standard features like ISR, Server Components, Server Actions, image optimization, and middleware work as written. The exceptions are Vercel Edge Functions and Vercel's own data products (KV, Postgres, Blob), which need adaptation — see the migration section above.

Is Percher cheaper than Vercel?

For predictable, low-to-moderate traffic solo projects, yes — Percher's flat plans (€0 / €3 / €12 / €29 per month) are typically cheaper than Vercel's per-seat Pro plan ($20/user/mo plus usage, as of 2026-05). For teams or apps with very bursty traffic that benefit from scale-to-zero, Vercel's serverless model can win. The honest answer is: do the math against your actual usage; both pricing pages are public and the live numbers may have shifted since this page was written.

Does Percher have an edge network like Vercel?

No. Percher runs on a single VPS in Falkenstein, Germany. That's a deliberate trade-off — one region means much simpler infrastructure and stable pricing, but a user in São Paulo will see more latency than on Vercel's nearest edge. If your audience is mostly in Europe, the trade is fine; if it's truly global, Vercel (or putting a CDN in front of Percher) is the right call.

Can I deploy from GitHub like with Vercel?

Yes. `bunx percher github connect <repo>` sets up a webhook so every push to your tracked branch triggers a deploy — the webhook is HMAC-signed. Only public repos are supported on the webhook path; for private repos use a Percher API token from GitHub Actions instead. Branch tracking, preview deploys, and rollback all work the same way they do on Vercel.

What about my Vercel KV / Postgres / Blob storage?

Those are Vercel-proprietary products without a 1:1 equivalent on Percher. For the SQLite + auth + S3-compatible file storage shape, opt into the managed PocketBase sidecar by adding `[data] mode = "pocketbase"` to your percher.toml — Percher provisions PocketBase alongside your app and injects `POCKETBASE_URL` automatically. For raw Postgres specifically, run any external provider (Neon, Supabase, your own) and set `DATABASE_URL` as a normal env var; Percher's outbound proxy handles the connection.

Try Percher in under a minute

Free plan, no credit card. Bring any Node, Bun, Python, or Docker app.

Sign up freeQuick start docs

Bringing an existing app? See recommended setup or the migration walkthrough above.