Web dev · Jul 01, 2026 · 5 min read

Vercel now runs any Dockerfile, no cluster required

Vercel added support for deploying arbitrary Dockerfiles on Fluid compute, so containerized backends in Go, Rails, Spring Boot, or anything else that speaks HTTP get autoscaling and preview deploys without a registry or cluster to manage.

Vercel has been the default home for frontend frameworks for years. Now it wants your backend too, in whatever container it already runs in. According to the announcement, you can add a Dockerfile.vercel file to any project and Vercel will build, store, deploy, and autoscale that image on Fluid compute.

The mechanics are deliberately small

The workflow is two files and one command. You write your server so it listens on $PORT (default 80), add a Dockerfile.vercel, and run vercel deploy. The CLI builds the image from the Dockerfile, stores it in your project's registry, deploys it to Fluid compute, and prints a production URL.

Vercel's own example is a minimal Go HTTP server built with a two-stage Dockerfile: compile in a golang:1.24-alpine stage, copy the binary into a minimal alpine:3.20 image, and run it. But the post is explicit that the stack doesn't matter — Rails, Spring Boot, Express, Laravel, ASP.NET, FastAPI, and nginx-fronted servers all deploy the same way. The only requirement is that the server speaks HTTP and listens on the right port.

What you actually get

Once a container is running on Vercel, it behaves like every other Vercel deployment:

  • A preview URL per push. Every commit gets its own immutable URL you can open, share, or roll back to.
  • Autoscaling in both directions. Instances scale out with traffic and wind down when it stops — no fleet sizing, no concurrency guessing.
  • Active CPU pricing. Fluid compute bills for time your code is actually executing, so a container idling on a slow query or an upstream API call isn't burning billable CPU while it waits.
  • Shared observability. Logs, traces, and metrics for the container show up in the same dashboard as the rest of your Vercel project.
  • One project, one domain. The container sits next to your frontend and other services and can talk to them privately over the Vercel network.

Fast starts, statelessly

A chunk of the post is about cold-start behavior, since that's usually where container platforms struggle. Vercel stores built images as what it calls an optimized boot image — a compressed snapshot of the container's disk tuned for fast startup. On boot, that snapshot is streamed and decompressed on demand rather than fully downloaded first, so a server can start answering requests before the whole image has landed. Once an instance is warm, Fluid compute keeps serving requests from it instead of spinning up a fresh copy each time, which is how Vercel gets warm-server responsiveness with pay-per-use billing.

The tradeoff is statelessness: each container instance takes a request, returns a response, and holds nothing in between. Anything that needs to persist — a database, a cache — has to live in a backing service, such as one from the Vercel Marketplace. Vercel says it's working on durable storage attached to containers as a future addition.

Why this, why now

Vercel points out that its very first platform, a decade ago, already let you deploy a Dockerfile with one command — the idea just arrived before the infrastructure could support it well. The framing here is that framework detection remains the fast path when Vercel recognizes your code, but a Dockerfile is the fallback for everything else: system dependencies like FFmpeg or Chromium, frameworks Vercel doesn't auto-detect, or an app you simply want to bring as-is. Everything downstream of the Dockerfile — build, registry, rollout, scaling, URL — is meant to be zero-configuration.

What it means for teams shipping web products

If your backend already lives in a container, this removes a specific category of infrastructure chores: no registry to provision, no cluster to size, no separate deploy pipeline for the API versus the frontend. That's most useful for teams who want one push to produce one preview across their whole stack, rather than juggling a frontend deploy and a backend deploy on different systems. It's less relevant if your workload needs durable local disk today, since that's explicitly still on Vercel's roadmap rather than shipped. And it's worth reading the pricing model carefully — active CPU billing rewards services that are mostly idle waiting on I/O, but the cost profile of a CPU-bound, always-busy service will behave differently than a typical request/response API.

Source Vercel
— LET'S TALK · ROMANIA / WORLDWIDE
BUC · 00:00:00

Got something to
build*?

Studio
Strada Polonă 68
Bucharest 010494
Romania
Hours
Mon – Fri 09:00 – 19:00 EET Async on weekends
DEVSOLUTION*
© 2026 Ernesto Motion SRL·CIF 50449465·J2024016998005·EUID ROONRC.J2024016998005·Terms·Privacy·GDPR