Vercel: Migrating for Ethics

Infrastructure is no longer a neutral utility. As the Gaza death toll surpasses 70,000, the technical ease of Vercel has been eclipsed by its moral cost. The “serverless walled garden” has become a symbol of corporate complicity. We are entering the era of technological sovereignty, where choosing our stack is the first step in reclaiming our ethical autonomy.

The Ethics of Infrastructure

Beyond technical friction, the “Vercel Exodus” was catalyzed in late 2025 by CEO Guillermo Rauch's public meeting with Benjamin Netanyahu to discuss AI's role in statecraft. This association, occurring while the ICC sought warrants for Netanyahu, raised deep concerns about the potential co-option of web frameworks for military or surveillance purposes. For many, infrastructure is no longer neutral; choosing where to host has become an extension of one's ethical commitment to human rights and data sovereignty.

Translating these ethics into action, however, means taking back control of our deployments. Here is the pragmatic escape plan.

The Alternatives

Depending on your team's size and technical appetite, these are the primary landing spots for 2026:

  • Managed PaaS (Railway / Render) — The closest “Vercel feel” with more predictable, resource-based pricing rather than aggressive per-seat or bandwidth taxes.
  • Edge-First (Cloudflare Pages) — Unrivaled performance with zero egress fees. Note: this requires adapting code for the V8 Workers runtime (often via @cloudflare/next-on-pages) rather than standard Node.js. Node-native APIs and heavy ORMs will require refactoring.
  • Sovereign (Coolify / VPS) — Self-hosted orchestration that lets you turn any $5/mo bare-metal server into a private Vercel, offering absolute control and zero vendor lock-in.

The Migration Guide

1Enable Standalone Mode

The universal escape plan for Next.js is moving to a container-friendly build. In your next.config.js, set your output to standalone. This creates a minimal .next/standalone folder that includes a server.js, removing your reliance on Vercel's proprietary runtime.

next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
  output: 'standalone',
}

module.exports = nextConfig

Tip

The standalone build doesn't automatically bundle your static assets. You will need a Dockerfile or CI script to explicitly copy your public/ and .next/static/ folders into the standalone directory, otherwise your site will load without CSS or client-side JS.

2Replicate “Memory” (ISR & Images)

When leaving Vercel, you must actively architect how your app “remembers” generated data and optimizes media:

  • For PaaS & VPS (Railway/Coolify) — To keep Next.js image optimization working smoothly off-platform, ensure the sharp package is installed in your project dependencies. For ISR caching, since these environments are ephemeral, you can mount a Persistent Disk to .next/cache.

Scaling Caveat

If you scale horizontally beyond one instance, persistent disks will fall out of sync. You'll need to configure a Next.js Custom Cache Handler backed by Redis.
  • For Edge (Cloudflare) — You don't have a physical disk. You must offload image optimization to an external provider like Cloudinary or Cloudflare Images, and utilize KV or R2 for caching.

3CI/CD & Preview Deployments

Vercel's biggest lock-in feature is the magic of automated PR Previews. Fortunately, the open-source and PaaS ecosystems have caught up.

If you migrate to Railway, Render, Cloudflare, or Coolify, preview deployments are native. Simply connect your GitHub repository to their dashboards, and you will automatically get a unique subdomain for every pull request.

If you opt for a bare-metal VPS (without Coolify), you can replicate this flow using GitHub Actions (e.g., appleboy/ssh-action), but be prepared to configure a dynamic reverse proxy (like Traefik or Caddy) to handle the routing and automated teardown of those ephemeral environments.

Reclaiming the Stack

Migrating away from Vercel might take an afternoon of DevOps work, but it yields a lifetime of architectural independence. The code we write and the servers we rent are political choices. By taking back our infrastructure, we take back our voice.

Helpful Resources

Fig 1.1 Setting up a sovereign deployment with Coolify
Fig 1.2 Deploying Next.js to Cloudflare Pages