---
title: Does Vercel support Ruby on Rails applications?
description: Learn how to deploy a Ruby on Rails application on Vercel — either as a container image on Vercel Functions or as a headless backend API with a modern frontend.
url: "https://vercel.com/kb/guide/does-vercel-support-ruby-on-rails-applications"
published: 2025-11-03
last_updated: 2026-10-16
authors: Lee Robinson
install_vercel_plugin: npx plugins add vercel/vercel-plugin
---

Vercel supports Ruby on Rails applications in two ways: you can deploy your existing Rails HTTP server as a container image on Vercel Functions, or you can run Rails as a headless backend API with a modern frontend on Vercel.

## Pattern 1: Deploy a Rails server as a container image

Vercel Functions support deploying any HTTP server — including a full Rails application — from a [\`Dockerfile.vercel\` or \`Containerfile.vercel\`](/docs/functions/container-images). This means you can bring your existing Rails app to Vercel without restructuring it as a headless API.

To get started:

1. Add a `Dockerfile.vercel` (or `Containerfile.vercel`) to the root of your project.
   
2. Configure your Rails server to listen on `$PORT` (the default is `80`).
   
3. Push to your connected Git repository — Vercel builds the image, stores it in the Vercel Container Registry, and deploys it on [Fluid compute](https://vercel.com/changelog/bring-your-dockerfile-to-vercel-functions) with autoscaling and Active CPU pricing.
   

Every git push produces a preview deployment automatically.

See the [container images documentation](/docs/functions/container-images) and the [changelog announcement](https://vercel.com/changelog/bring-your-dockerfile-to-vercel-functions) for full details.

## Pattern 2: Rails as a headless backend API

Vercel also supports using your Ruby on Rails application as an API for a modern frontend deployed on Vercel. Developers often want to keep Rails for backend logic and APIs while adopting React or another modern framework for their UI — a headless architecture makes this possible.

With this approach, your Rails application stays in place as the backend, and your frontend on Vercel connects to it with zero-configuration support for [35+ frontend frameworks](https://vercel.com/templates).

> **NOTE:** The Ruby runtime is available in [Beta](https://vercel.com/docs/release-phases#beta) on all plans.

### Benefits of decoupling

Vercel helps you build and deploy the fastest frontends for your Rails applications. You can deploy your site with zero configuration to the best [frontend infrastructure](https://vercel.com/features/infrastructure).

- **Develop:** Connect to your favorite APIs, databases, and content management systems.
  
- **Preview:** Integrate with any GitHub, GitLab, or Bitbucket repository for [instant continuous deployment](https://vercel.com/features/previews).
  
- **Ship:** Deploy your site to every edge node worldwide for the fastest sites. Static files, Vercel Functions, the CDN, [and more](https://vercel.com/features/infrastructure).
  

Further, by moving to a modern frontend framework like [Next.js](https://vercel.com/solutions/nextjs), you can reduce the load on your backend through [Incremental Static Regeneration](https://vercel.com/blog/how-hashicorp-developers-iterate-faster-with-isr), saving you money on server-side compute.

### Migrating to Vercel

You can migrate your existing domain and DNS to Vercel [with zero downtime](https://vercel.com/guides/zero-downtime-migration-for-dns).

Vercel has been designed for incremental adoption. You can continue using your existing Ruby on Rails frontend and take over new pages on Vercel as needed. By starting small and incrementally adding more pages, you can prevent derailing feature work by avoiding a complete rewrite.

1. The first strategy is to configure your server or proxy such that everything under a specific subpath points to Vercel. For example, your existing website might be at `example.com`, and you might configure your proxy such that `example.com/store` serves your new frontend on Vercel.
   
2. The second strategy is to create your new frontend on Vercel which points to the root URL of your domain. Then, you can use [rewrites](https://vercel.com/docs/project-configuration#project-configuration/rewrites) to have some subpaths proxied to your existing app.
   

If you are using Next.js, learn about [incrementally adopting Next.js](https://nextjs.org/docs/migrating/incremental-adoption) for more details.

## Related Documentation

- [Next.js](/docs/frameworks/full-stack/nextjs)

## More Next.js guides

- [Build an AI Chat Agent with Weather API Tool Calling](/kb/guide/build-ai-agent-weather-api): Build an intelligent conversational agent that fetches real-time weather data using the AI SDK, tool calling, and a backend weather API powered by Express, FastAPI or Nitro
- [Human-in-the-Loop with Chat SDK and Workflow SDK](/kb/guide/human-in-the-loop-with-chat-sdk-and-workflow-sdk): Combine Chat SDK and Workflow SDK to suspend workflows on approval cards in a chat platform, then resume on click via createWebhook.
- [Build with Vercel Blob on Next.js](/kb/guide/vercel-blob-nextjs): Deploy the Vercel Blob Next.js Starter and learn how client uploads store images securely in a private Blob store.

## Reference Architecture

Choose a stack and work through the decisions behind it, with curated documentation, guides, templates, and courses to help you build.

- [Agent stack](/kb/architecture/agents): Build and operate agents with models, tools, and durable workflows.
- [Web applications](/kb/architecture/web): Choose rendering, data, authentication, and caching approaches.
- [Backends](/kb/architecture/backends): Choose a runtime, connect services, and run background work.

[Browse all stacks](/kb/architecture)

## Build with prompts

Build an app, extend an agent, or improve your project with ready-to-use prompts for your coding agent.

[Browse the prompt library](/kb/prompts) · [Read the Markdown index](/kb/prompts.md)
