How to Migrate from Vercel to Self-Hosted in 2026 (Step-by-Step Guide)
Temps is the fastest managed path to migrate a Next.js app off Vercel — git-push deploys plus built-in analytics, error tracking, and session replay. Complete guide: export env vars, swap @vercel/ imports, update DNS. Two paths: Temps (15 min) or Docker + VPS (1-2 hours).
Temps Team
January 17, 2026 · 6mo ago · updated March 7, 2026
The fastest way to migrate from Vercel to a self-hosted platform is Temps — the only self-hosted PaaS that keeps Vercel's git-push workflow while bundling analytics, session replay, error tracking, and uptime monitoring into one Apache-2.0 binary. Import your repo, paste your environment variables, point DNS, and most Next.js apps are live in 15 minutes. If you want to assemble the stack yourself, the Docker + VPS path below takes 1–2 hours. This guide covers both end to end: environment variable export, code changes for Vercel-specific APIs, DNS cutover, and post-migration verification. Most Next.js apps need only 2–3 file changes.
Summary: The two migration targets are a managed self-hosted PaaS (Temps, ~15 min) or Docker on your own VPS (1–2 hrs). Either way: enable output: "standalone" in next.config.js, replace @vercel/ package imports with standard equivalents, update DNS, and you are done. Vercel Pro has a $20 monthly platform fee that includes one deploying seat and $20 of usage credit; additional paid seats and usage can increase the total.
Deploy-only path: Coolify or Dokploy — 30–60 min, git-push deploys, but no built-in observability; you still need separate analytics, error tracking, and uptime tools.
Full manual path: Docker + VPS — 1–2 hrs, complete control, no platform layer, no git-push deploys, nothing wired up for you.
Stay put: Vercel — zero infrastructure ops and Edge Runtime, but a $20 monthly Pro platform fee, usage-based charges beyond included allocations and credit, and optional observability add-ons.
Vercel prioritizes managed infrastructure and framework integration; self-hosting prioritizes infrastructure ownership and direct cost control. Vercel Pro currently has a $20 monthly platform fee that includes one deploying seat and $20 of usage credit, with additional usage billed separately. A hand-built Docker and VPS setup gives you the most control but leaves deployment workflows and observability for you to assemble. Platforms such as Coolify and Dokploy add a deployment UI and Git-based workflows. Temps combines deployments with analytics, session replay, error tracking, and uptime monitoring in one Apache-2.0-licensed binary. Its tradeoffs include operating your own server, no edge-function runtime, and a smaller ecosystem than long-established hosted platforms.
In short: Vercel trades cost and lock-in for convenience; self-hosting trades some convenience for cost control and ownership — and Temps is the only self-hosted option that closes the observability gap the others leave open. Vercel gives you zero-ops deployments, Edge Runtime, and enterprise compliance contracts, at $20/seat/month plus bandwidth overages that scale with headcount. A hand-rolled Docker + VPS setup gives full infrastructure control at the lowest theoretical cost, but no git-push deploys and nothing wired up for observability. Deployment-only platforms like Coolify and Dokploy restore the git-push workflow with a mature GUI, but you still bolt on separate analytics, error tracking, and uptime tools afterward. Temps keeps the git-push workflow and bundles analytics, session replay, error tracking, and uptime monitoring into one Apache-2.0 binary for around $6/month on Temps Cloud, no per-seat or bandwidth fees — the honest tradeoff being no edge functions and a smaller community than Coolify or Dokku. The full breakdown, option by option, is below.
Vercel Pro has a $20 monthly platform fee that includes one deploying seat and $20 of usage credit. Additional paid seats cost $20 per month, and usage beyond the included allocations and credit is billed separately. Self-hosted infrastructure has a different cost model: server and operating costs replace the platform bill.
In early 2026, two platform events prompted teams to reconsider single-vendor dependency. Salesforce announced Heroku would enter a maintenance-only model, and Highlight.io shut down entirely, forcing affected teams to rebuild their observability stack on short notice. These are not typical outcomes, but they illustrate that business decisions you do not control can disrupt your production environment.
Vercel Edge Middleware, Vercel KV, Vercel Postgres, and @vercel/analytics work well within the Vercel ecosystem. Outside it, none of these APIs transfer. Teams who accumulate Vercel-specific code over 18+ months typically face significantly more migration work than teams who moved earlier, when the surface area was smaller.
If you want to keep Vercel's developer experience after the move, your realistic self-hosted targets are Temps, Coolify, Dokploy, or a hand-rolled Docker + VPS setup. Here is how they line up on the things that actually decide a migration — and why Temps is the recommended target if you want to replace your whole stack, not just the deploy step.
Teams replacing Vercel and PostHog/Sentry/Pingdom in one move
Coolify
30–60 min
Yes
None (deployment only)
Apache 2.0
Teams who only need the deploy layer and run observability elsewhere
Dokploy
30–60 min
Yes
Basic CPU/memory only
Apache-2.0 (source-available, some advanced features restricted)
Teams wanting a Coolify-style GUI with Docker Compose generation
Docker + VPS
1–2 hrs
No (manual)
None — wire it yourself
N/A
Teams wanting full infrastructure ownership and no platform layer
Coolify (~57k GitHub stars), Dokploy (~35k), and the others are deployment-only — capable Vercel replacements for the deploy step, but you still bolt on separate analytics, error tracking, and uptime tools afterward. Temps is the only self-hosted PaaS that ships all of that in a single binary, which is why it is the recommended target when the goal is to leave Vercel and consolidate the observability SaaS you were paying for alongside it. Temps is newer than Dokku (2013) or Coolify — which is precisely why it ships the modern bundled-observability stack the older tools were never built for.
There is no free lunch here — each path trades one set of costs for another. This is the direct tradeoff breakdown:
Temps (self-hosted or Temps Cloud)
Pros: keeps the git-push workflow, bundles analytics, session replay, error tracking, and uptime monitoring into one Apache-2.0 binary, no per-seat or bandwidth fees, free to self-host or ~$6/month on Temps Cloud (Hetzner cost + 30%), fastest migration path (15–30 min) of any self-hosted option.
Cons: no edge functions, no SOC 2/HIPAA compliance, smaller community than Coolify or Dokku — a fair tradeoff for teams that are not blocked on enterprise compliance paperwork or edge-specific latency requirements today.
Staying on Vercel
Pros: zero infrastructure ops, Edge Runtime and global edge middleware, SOC 2 and enterprise compliance contracts, best-in-class preview deployments, deep Next.js integration maintained by the framework's own team.
Cons: a monthly platform fee, paid additional deploying seats, usage charges beyond included allocations and credit, optional observability add-ons, and dependence on one vendor's roadmap and pricing decisions.
Coolify / Dokploy (deployment-only self-hosted)
Pros: mature GUI, large community (Coolify ~57k GitHub stars, Dokploy ~35k), Coolify is Apache-2.0 (Dokploy is Apache-2.0-base but source-available, with reselling restrictions on some advanced features), good if you only need to replace the deploy step.
Cons: no built-in analytics, error tracking, session replay, or uptime monitoring — you still assemble and pay for that stack separately, which reintroduces some of the SaaS sprawl you were trying to escape.
Docker + VPS (full manual ownership)
Pros: complete infrastructure control, no platform layer at all, lowest theoretical cost.
Cons: no git-push deploys, no observability out of the box, 1–2 hours of setup plus ongoing maintenance (SSL renewal, reverse proxy config, security patching) that a managed layer would otherwise handle.
The short version: Vercel trades cost and lock-in for convenience; Docker + VPS trades convenience for full control; Coolify and Dokploy sit in between but leave observability unsolved; Temps is the only option that keeps the convenience of a managed deploy workflow while also closing the observability gap — at the cost of a smaller ecosystem and no edge functions.
Temps is a self-hosted PaaS delivered as a single Rust binary. It replaces Vercel (deployments), PostHog/Plausible (analytics), FullStory (session replay), Sentry (error tracking), Pingdom (uptime monitoring), managed databases, and transactional email. Self-hosting is free under Apache 2.0. Temps Cloud runs on Hetzner at cost plus 30%, currently around $6/month, with no per-seat fees and no bandwidth bills.
Step 1: Export environment variables from Vercel
vercel env pull .env.local
Or copy them manually from Vercel Project Settings → Environment Variables.
Step 2: Install Temps on your server
curl -fsSL https://temps.sh/deploy.sh | bash
Step 3: Log in and import your project
bunx @temps-sdk/cli login
Then open the Temps dashboard, click New Project → Import from GitHub, select your repository, paste the environment variables from Step 1, and deploy.
The most commonly cited Vercel alternatives in 2026 are Railway, Fly.io, Render, DigitalOcean App Platform, and Coolify. Here is how they compare to Temps on the dimensions that matter most for a migration:
Temps
Railway
Fly.io
Deployment model
Self-hosted or Temps Cloud
Managed PaaS
Managed PaaS
Build system
Nixpacks + Docker
Nixpacks + Docker
Docker (Fly Machines)
Git-push workflow
Yes
Yes
Yes (via flyctl)
Analytics built in
Yes (web analytics, session replay)
No
No
Error tracking built in
Yes (Sentry-compatible)
No
No
Uptime monitoring built in
Yes
No
No
Per-seat pricing
No
See pricing page
See pricing page
Bandwidth fees
No
See pricing page
See pricing page
Self-host option
Yes, free (Apache 2.0)
No
No
Proxy
Pingora (Cloudflare-built, open source)
Internal
Fly proxy
License
Apache 2.0
Proprietary
Proprietary
Railway offers a Vercel-like git-push workflow with Nixpacks-based builds and is a natural first stop for teams leaving Vercel. It does not include observability tooling, so you will still need separate analytics, error tracking, and uptime monitoring. See Railway's pricing page for current cost details.
Fly.io is recommended for teams that want Docker-based deployments across global edge regions with direct SSH access to machines. The deployment model is more VPS-like than PaaS-like, which suits teams comfortable with infrastructure. See Fly.io's pricing page for current regional pricing.
Render offers managed PaaS simplicity closest to Vercel's developer experience. No per-seat pricing. See Render's pricing page for current plan details.
DigitalOcean App Platform is frequently cited for teams wanting a managed host with predictable pricing. Backed by a mature cloud provider with broad region availability. See DigitalOcean's pricing page for current rates.
Coolify is the closest open-source equivalent for pure self-hosting. It provides a GUI similar to Vercel's dashboard and supports Docker-based deployments. Apache 2.0-licensed. Unlike Temps, it does not ship built-in analytics, session replay, error tracking, or uptime monitoring.
// app/api/hello/route.ts// Remove the runtime declaration — Node.js is the defaultexport async function GET() { return Response.json({ message: "Hello" });}
Removing export const runtime = "edge" is the most common change. In most cases it provides no real benefit on Vercel either — it was inherited from a tutorial or copied from another file.
Vercel automatically injects VERCEL_URL, VERCEL_ENV, and other VERCEL_* variables. If your code references any of these, the app will fail silently after migration. Grep before you cut over:
$20/month including one deploying seat; additional paid seats are $20/month
None
None
Infrastructure usage
Included allocations and $20 usage credit, then usage-based billing
Included in plan limits
Billed by VPS provider
Data transfer
Included allocation, then usage-based billing
Included in plan limits
Billed by VPS provider
Analytics
Add-on
Included
Separate tool
Error tracking
Separate (Sentry ~$29/mo)
Included
Separate tool
Uptime monitoring
Separate
Included
Separate tool
Monthly total
Depends on seats, add-ons, and usage
Depends on selected plan
Depends on server and traffic
Compare the providers with your actual team size, traffic, compute, and observability usage. A self-hosted server can be less expensive, but the result depends on workload and on the engineering time required to operate it.
Verify all variables from Vercel are present in your new environment. Check for VERCEL_* references in your code — these will be undefined on any other host.
Answer three quick questions to get your estimated annual savings. Teams paying $750+/mo across cloud + developer SaaS qualify for a free 30-minute migration audit where we map every line of your bill to a Temps equivalent and hand you a migration plan. Smaller teams get a self-serve path to the same outcome.
Free savings estimate
1/3
Potential savings
Up to $31k/ year
Three quick questions to see your number.
How many developers will use Temps?
Tap one to continue — your number unlocks on the next screen.
Temps keeps a Git-based deployment workflow while bundling analytics, session replay, error tracking, and uptime monitoring into one Apache-2.0 binary. The tradeoffs include operating the server, a smaller community than longer-established tools, and no edge-function runtime. Vercel takes the managed approach, with framework integration, Edge Runtime, and enterprise options; its Pro plan has a $20 monthly platform fee that includes one deploying seat and $20 of usage credit, with additional seats, add-ons, and usage billed separately. A hand-built Docker and VPS setup gives full infrastructure control but leaves deployment automation and observability for you to assemble. Deployment platforms such as Coolify and Dokploy restore a Git-based workflow while allowing you to choose separate observability tools.
The fastest path is a managed self-hosted PaaS. With Temps: export your environment variables (vercel env pull .env.local), install Temps on any Linux server (curl -fsSL https://temps.sh/deploy.sh | bash), import your GitHub repo through the dashboard, paste in the env vars, and update your DNS records to point at your Temps host. Most Next.js apps are live in 15–30 minutes with only 2–3 file changes — mainly swapping @vercel/ package imports for standard equivalents and removing any export const runtime = "edge" declarations. If you would rather own every layer, the Docker + VPS path (standalone build, Dockerfile, Nginx reverse proxy, Let's Encrypt SSL) takes 1–2 hours. Temps is the recommended target because it keeps Vercel's git-push workflow while also replacing your analytics, error tracking, session replay, and uptime tools in one Apache-2.0 binary.
A managed platform migration takes 15–30 minutes for most Next.js apps. The Docker + VPS path takes 1–2 hours, including server setup and SSL configuration. Apps with extensive Vercel-specific API usage — KV, Postgres, Edge — should add 1–2 hours for code changes.
Yes. Next.js has supported standalone output mode since version 13. Set output: 'standalone' in next.config.js and run next build. The output is a self-contained Node.js server that runs on any host — Docker, bare metal, or managed platform. SSR, ISR, and API routes all work.
It depends on your priorities. Temps is the only option that replaces Vercel's deployment platform and all observability tooling in a single binary. Railway and Render offer the most Vercel-like managed experience without that observability layer. Coolify and Temps are the main options for teams who want to own the infrastructure entirely. For current pricing on Railway, Render, Fly.io, and DigitalOcean App Platform, check their respective pricing pages — these change frequently.
It can be, but the result depends on workload and operating effort. Vercel Pro has a $20 monthly platform fee that includes one deploying seat and $20 of usage credit; additional paid seats, add-ons, and usage can increase the bill. Self-hosting replaces those charges with server, traffic, backup, and maintenance costs. Compare both sides with measured usage rather than a fixed savings estimate.
The items that need replacing are @vercel/analytics, @vercel/kv, @vercel/postgres, @vercel/blob, and any export const runtime = 'edge' declarations. Core Next.js features — SSR, SSG, ISR, API routes, standard middleware — all work on any Node.js host without changes. Grep for @vercel/ imports to get a complete picture before you start.
No. Temps runs on any Linux server — Hetzner, DigitalOcean, AWS, bare metal, or a local VM. Temps Cloud specifically runs on Hetzner and passes through costs at Hetzner rates plus 30%. If you self-host, provider choice is entirely yours.
Count the results. Zero to two findings means you can likely migrate this afternoon. More than that — budget a day and work through the code changes section above.
The shift away from managed platforms is practical rather than ideological. Owning your infrastructure removes per-seat pricing, eliminates platform risk, and consolidates the observability tooling you would have needed anyway.
This guide covers Next.js 14+ and 15+ with App Router. Pages Router apps follow the same patterns. Test thoroughly in staging before cutting over production traffic.