{
  "schema_version": "1.0",
  "id": "archive:https://vercel.com/blog/dockerfile-on-vercel",
  "slug": "dockerfile-on-vercel-0frproo",
  "url": "https://feed7.dev/p/dockerfile-on-vercel-0frproo",
  "title": "Run any Dockerfile on Vercel",
  "why_included": "Vercel now runs arbitrary containers: add a Dockerfile.vercel and any HTTP server on $PORT deploys to Fluid compute with per-push previews, autoscaling, and Active CPU pricing — no registry or cluster to manage.",
  "summary": "**The gist** Vercel now deploys containers: add a **Dockerfile.vercel** and any HTTP server listening on **$PORT** (default 80) gets built, stored, and autoscaled on **Fluid compute** — Go, Rails, Spring Boot, Laravel, FastAPI, nginx, anything that fits in an image. Every push gets an immutable preview URL, and images are stored as compressed **boot snapshots** streamed at startup to cut cold-boot time.",
  "practical_implication": "**Why it matters** What an agent can ship to Vercel is no longer limited to JS frameworks and supported runtimes — a containerized backend deploys beside your frontend on the **same domain and private network** in one deploy. **Active CPU pricing** bills execution time rather than wall time, so a service idling on slow upstream calls isn't burning budget.",
  "agent_context": "**The gist** Vercel now deploys containers: add a **Dockerfile.vercel** and any HTTP server listening on **$PORT** (default 80) gets built, stored, and autoscaled on **Fluid compute** — Go, Rails, Spring Boot, Laravel, FastAPI, nginx, anything that fits in an image. Every push gets an immutable preview URL, and images are stored as compressed **boot snapshots** streamed at startup to cut cold-boot time.\n\n**Why it matters** What an agent can ship to Vercel is no longer limited to JS frameworks and supported runtimes — a containerized backend deploys beside your frontend on the **same domain and private network** in one deploy. **Active CPU pricing** bills execution time rather than wall time, so a service idling on slow upstream calls isn't burning budget.\n\n**Watch out** Containers are **stateless** — persistent data needs an external service, with **durable storage** attachment still in the works. Anything that doesn't speak HTTP on $PORT doesn't fit the model, and cold-start and cost behavior under real load is so far Vercel's claim rather than community-verified.",
  "source": {
    "name": "Vercel",
    "url": "https://vercel.com/blog/dockerfile-on-vercel",
    "published_at": null
  },
  "source_class": "blog_post",
  "content_type": "Engineering Post",
  "layer": null,
  "domains": [],
  "topics": [],
  "verification": {
    "status": "official_source",
    "label": "Official Source",
    "method": "source_feed",
    "verified_at": null
  },
  "uncertainty": [
    "Containers are **stateless** — persistent data needs an external service, with **durable storage** attachment still in the works. Anything that doesn't speak HTTP on $PORT doesn't fit the model, and cold-start and cost behavior under real load is so far Vercel's claim rather than community-verified."
  ],
  "lifecycle": "Current",
  "published_at": null,
  "modified_at": null,
  "supersedes": [],
  "expires_at": null,
  "formats": {
    "html": "https://feed7.dev/p/dockerfile-on-vercel-0frproo",
    "json": "https://feed7.dev/p/dockerfile-on-vercel-0frproo.json",
    "markdown": "https://feed7.dev/p/dockerfile-on-vercel-0frproo.md"
  }
}