Migrate from Vercel

Move off Vercel
without rewriting anything.

EU infrastructure. Predictable pricing. No per-invocation surprises. Connect your repo, we deploy it as a container. Starter plan is free, no card required.

One-click import from Vercel is on the roadmap. For now, the manual flow takes about 10 minutes.

The tradeoff, in one screen

No checkmark soup. The honest summary.

orkestr wins onflat pricing, no per-seat or per-invocation tax, EU-only data, long-running containers, encrypted-by-default env vars
Vercel wins onNext.js edge features (ISR, edge middleware, @vercel/og), global edge network, more generous hobby tier
Tiedgit push deploys, preview environments, custom domains, automatic SSL, one-click rollbacks

Will my stack work?

Specific answers, not vague ones. If a row says no, the wall is real and we will tell you up front.

Framework / featureVerdictNotes
Vite (React, Vue, Svelte)works as-isStatic build, served behind our CDN.
Astroworks as-isStatic and SSR (Node adapter) both deploy.
Remixworks as-isNode runtime adapter.
Nuxt 3works as-isNode preset, runs as a long-lived container.
SvelteKitworks as-isUse the Node adapter.
Next.js (static export)works as-isoutput: "export" builds and deploys cleanly.
Next.js (SSR, Node runtime)works as-isstandalone output, runs as a Node container.
Next.js (ISR)with caveatsOn-demand revalidation works. Time-based revalidation needs a tweak.
Next.js (middleware)with caveatsWorks on Node runtime. Edge runtime middleware does not run.
Hono / Elysiaworks as-isAuto-detected. Run as a long-lived Node or Bun container. The "edge framework" you picked still works, just on Node.
Express, Fastify, NestJS, Koaworks as-isPlain Node servers. Long-running, no per-invocation billing.
Bun and Deno serversworks as-isFirst-class detection (bunfig.toml, deno.json). Run as native Bun/Deno containers.
Next.js API routes (Node runtime)works as-isShip inside your Next.js container. No per-invocation billing because they live in the same long-running process.
Standalone Vercel Functions (Node, Python)works as-isMap to orkestr Functions. Paste the handler, get a URL, scale to zero with wake-on-request.
Python (FastAPI, Django, Flask)works as-isAuto-detected. Litestar, Starlette, Sanic, Streamlit, Gradio also supported.
Go, Rust, Ruby (Rails), Spring Bootworks as-isContainer-native. Listed for completeness, Vercel never really fit these anyway.
Edge runtime functionsnot yetNo equivalent today. We run containers in EU regions, not edge POPs.
@vercel/ognot yetReplace with a Node-side renderer (e.g. satori on a route).
Vercel KV / Postgres / Blobnot yetWe do not migrate the data. Use orkestr Postgres + Redis or bring your own.

Missing your stack? Tell us.

A real cost example

Three developers shipping a production Next.js app. ~1M visits/month, mixed static and SSR (~2M function invocations), 200 GB bandwidth.

Vercel Pro

USD
  • Pro seats (3 × $20)$60.00
  • Edge requests (8M of 10M included)included
  • Bandwidth (200 GB of 1 TB included)included
  • Function invocations (~2M, $0.60/M after 1M)$0.60
  • Active CPU (~30 hrs at $0.128)$3.84
  • Image transformations (~5K, mostly within free tier)~$0
  • $20 included usage credit absorbs the above−$4.44
This month’s total$60.00 / month

The $20 usage credit covers light months. The seat fee does not move. A traffic spike that pushes function invocations past ~33M, or bandwidth past 1 TB ($0.15/GB), and you are paying overages on top of the $60 base. None of this is hypothetical, it just depends on your month.

Flat

orkestr Team

EUR
  • Team plan (3 members included, all 3 devs fit)€29.99
  • Bandwidth (fair-use)included
  • Function invocationsincluded
  • Container CPU timeincluded
  • Managed Postgres + Redis (5 add-ons)included
  • Custom domains, rollbacks, monitoringincluded
Total€29.99 / month

One number. No usage meters. If you outgrow Team, talk to us before the bill, not after.

Where this comparison breaks:

  • If you fit inside Vercel’s hobby tier, Vercel is free. We are not. Stay on Vercel.
  • If your app needs edge runtime middleware or @vercel/og at request time, the prices below are not the right comparison. Functionality is.
  • If your traffic is >10x this example, Vercel’s overages compound and our flat plan still holds, but you should run your own numbers.

Just testing the waters? Starter is free. One project, one environment, no card.

Vercel pricing as published at vercel.com/pricing. orkestr Team pricing as published at orkestr.eu/pricing.

How to actually migrate

No magic. Four steps, about ten minutes, mostly waiting for the build.

  1. 1

    Connect your git provider

    GitHub, GitLab, Bitbucket, or Codeberg. orkestr lists your repos.

  2. 2

    Create a project from the same repo

    We auto-detect the framework and generate a Dockerfile. If you had a custom build setup on Vercel that the auto-detect won’t infer, commit a Dockerfile to your repo and we use it as-is. For monorepos, set the build context to the right subfolder when you create the project.

  3. 3

    Copy your env vars across

    Paste them into the orkestr environment. We encrypt every var at rest, so there is no "sensitive vs not" choice to make. Vercel’s sensitive vars cannot be read back from their API, so you grab those values from wherever you originally stored them. Either way, you only do this once.

  4. 4

    Point your domain

    After the first successful deploy, we show you the DNS records. Update them at your registrar. Vercel keeps serving until DNS propagates, so there is no downtime if you do it in that order.

Frequently asked

Anything missing? Get in touch.

Will my Next.js app work?

Static export and SSR on the Node runtime work as-is. API routes ship inside your container, so they keep working without a separate billing line. ISR works with on-demand revalidation. Edge runtime middleware does not run on orkestr today, since we deploy Node containers in EU regions, not edge workers. If your app leans heavily on edge runtime features, we are not the right home yet.

What about my Vercel Functions?

Two cases. If they are Next.js API routes, they ship inside your Next.js container on orkestr, no extra setup. If they are standalone Functions (a separate project, or you want them isolated), use orkestr Functions: paste a Node or Python handler, get a public URL, scale to zero with wake-on-request. No per-invocation billing either way.

What about my domains?

You keep them. After your first deploy on orkestr, we show you the DNS records to set at your registrar. Same flow as Vercel. We do not touch your existing Vercel deployment, so you can verify orkestr works before flipping DNS.

Can I keep PR preview deploys?

Yes. Each branch can have its own environment with its own URL, env vars, and domain. Open a PR on a connected branch, get a preview URL.

What about Vercel KV, Postgres, and Blob?

We do not migrate the data. Pro and Team plans include managed Postgres and Redis add-ons, with connection strings auto-injected. For object storage, point at an S3-compatible provider (Scaleway and Backblaze are EU-friendly options). You will need to copy the data over yourself.

Do you store my Vercel access token?

When the import tool ships, no. The token is used once during import and discarded. Until then, the manual guide shows you how to copy env vars and settings yourself, no token required.

What happens to my Vercel project after I move?

Nothing. We do not touch it. Cancel it in the Vercel dashboard once you are confident the orkestr deploy is healthy and DNS has cut over.

Are you really cheaper than Vercel?

For most production apps with a small team, yes, mainly because we do not charge per seat or per function invocation. For very low-traffic hobby sites, Vercel’s free tier is more generous than ours. For very high-traffic apps that depend on edge features, the comparison gets specific to your workload.

Where does my code actually run?

On dedicated infrastructure in the EU (Hetzner Falkenstein, Helsinki, Nuremberg). Compute and any managed databases stay in the EU. We do not transfer your data to US regions.

Try the move. No card required.

Sign up, deploy one project, see if the bill and the latency line up. If not, you have lost ten minutes.