Skip to main content
PercherPercher

Decision guide

Percher or Render?

Render and Percher are architecturally close cousins: both run long-lived containers behind a managed proxy, both ship from Git, both auto-issue TLS, and both expose an MCP server today. The real differences are who they're built for and how deep the agent integration goes. Render is a polished, multi-region PaaS aimed at small-to-mid teams who want managed Postgres + Redis and per-service pricing they can scale up. Percher is a solo-builder platform with MCP as the primary deploy surface — 42 tools covering the full operational loop and a typed `recovery.nextAction` contract — opt-in PocketBase batteries (`[data] mode = "pocketbase"`), and flat per-account pricing.

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, Render or a higher-tier provider is the safer choice. Percher may grow into that space; it is not there now.

At a glance

FeaturePercherRender
Free tierFree plan (2 apps, sleep after 10 min idle)Free web service tier (sleep after idle, monthly hour cap)
Paid entry price€3/mo (Starter) — flat, per accountPer-service pricing (Starter web service ~$7/mo) — as of 2026-05
Pricing modelFlat monthly subscription per accountPer-service + bandwidth + database add-ons
RegionSingle region (Falkenstein, DE)Multi-region (US, EU, Asia, Australia)
Compute modelLong-running containers per appLong-running containers per service
Built-in databaseOpt-in managed PocketBase per app (SQLite, auth, file storage) via `[data] mode = "pocketbase"`Managed Postgres + Redis (separate billed services)
Built-in authYes (when PocketBase is enabled) — auth out of the box with PocketBaseNo — bring your own
MCP serverMCP-first: 42 tools covering publish, logs, env, rollback, doctor, backups, domains and GitHub connect, plus a typed `recovery.nextAction` for chaining failures into fixesHas an MCP server for service management (deploy lookup, log retrieval, service ops)
Framework supportNode, Bun, Python, static, any DockerfileNode, Python, Ruby, Go, Elixir, Rust, any Dockerfile
Background workers / cronNot first-class (use a single long-running app)First-class service types: workers, cron jobs
Custom domainsYes (paid plans)Yes
Automatic SSLYes — Let's Encrypt via CaddyYes — Let's Encrypt
ComplianceEU data residency; no formal certifications yetSOC 2 Type 2, HIPAA available on paid plans
RollbackInstant per-deploy rollbackInstant per-deploy rollback

When Percher is the better choice

  • You want the assistant doing more than `publish` — full operational tools (logs, env, rollback, doctor, backups, domain add) and a typed `recovery.nextAction` that chains a failed deploy into the next fix without leaving the chat.
  • You want flat per-account pricing so two or three small apps don't multiply your bill — Render charges per service.
  • You want an opt-in managed PocketBase per app for SQLite + auth + file storage (one config line: `[data] mode = "pocketbase"`) rather than standing up a separate Postgres service and bolting on auth.
  • Your project needs EU data residency. Percher runs in Germany only.
  • You're a solo builder where the per-service cost and per-database add-on cost on Render add up faster than the value they bring.

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

  • You need managed Postgres or Redis as a first-class product, not an external service connected over `DATABASE_URL`. Render's databases are tightly integrated with the platform.
  • You need multi-region deployment — US, Europe, Asia, Australia. Percher is single-region in Germany.
  • You need explicit background workers or cron jobs as first-class service types. Render models those distinctly; Percher doesn't.
  • You need SOC 2 Type 2, HIPAA, or other formal compliance certifications. Percher is a young single-team project without those yet.
  • You're scaling beyond a handful of apps and want fine-grained per-service control — instance types, autoscaling per service, private services.

Migrating from Render

If your Render service is a Docker container, the migration is mostly mechanical: ship the same Dockerfile, set the same env vars, and you're live. `bunx percher init` generates a `percher.toml` from your project that points at the existing Dockerfile (set `runtime = "docker"`), and `bunx percher publish` builds and deploys it. Custom domains move with a one-time DNS update.

What doesn't carry over directly: Render's managed Postgres and Redis are separate services on Render but have no direct equivalent on Percher — the Percher pattern is the opt-in PocketBase sidecar (`[data] mode = "pocketbase"`) for SQLite + auth + file storage, or `DATABASE_URL` pointed at any external Postgres provider (Neon, Supabase, your own). Background workers and cron jobs on Render need to be folded into your main app for now (a long-running queue consumer thread, or an external cron-as-a-service hitting a webhook); Percher doesn't expose those as distinct service types yet.

# In your project root (with your existing Dockerfile):
bunx percher init            # generates percher.toml (runtime=docker)
bunx percher env set DATABASE_URL=...  # for each env var on Render
bunx percher publish         # build + deploy
bunx percher domains add yourdomain.com

FAQ

Can I run my Render Docker service on Percher?

Yes. If your Render service uses a `Dockerfile` (the common case), Percher builds and runs the exact same image with `runtime = "docker"` in `percher.toml`. No code changes are needed — only your `DATABASE_URL` and other env vars have to be re-set with `bunx percher env set`. The build pipeline picks up your Dockerfile automatically when `bunx percher init` detects it in the project root.

Is Percher cheaper than Render?

For a single small app, the two are roughly comparable at the entry level. Where Percher wins on cost is multi-app usage: Render charges per service (each web service, each Postgres, each Redis is billed separately), while Percher's flat-rate plans cover everything on one account. For one heavy app with a beefy Postgres, Render can be cheaper because you only pay for what you use; for three or four small apps, Percher's flat plans are typically less.

Does Percher support multi-region like Render?

No. Percher runs in a single region (Falkenstein, Germany). Render offers US, EU, Asia, and Australia regions. If your audience needs sub-100 ms latency outside Europe, Render (or fronting Percher with a global CDN) is the right call. For European audiences, Percher's single region is fine.

What replaces Render's managed Postgres?

Percher doesn't ship a managed Postgres of its own today. Every app can opt into a managed PocketBase sidecar (SQLite + auth + S3-compatible file storage) by setting `[data] mode = "pocketbase"` — the sidecar is provisioned automatically and reachable via the `POCKETBASE_URL` env var. For raw Postgres specifically, point `DATABASE_URL` at any external provider (Neon, Supabase, your own server) and Percher's outbound proxy handles the connection transparently.

How do I run a background worker on Percher?

Render models workers as a distinct service type; Percher doesn't, yet. The current pattern is to fold the worker into your main app — start a background task (queue consumer, scheduler, etc.) at app boot, in the same process or as a child process inside the same container. For periodic jobs, external cron-as-a-service (GitHub Actions on a schedule, EasyCron, etc.) hitting a webhook endpoint is the common workaround.

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.