Back to Posts

Rails Hosting in 2025: A Developer's Guide to Getting Your App Online

December 07, 2025

·

By GGG

Rails Hosting in 2025: A Developer's Guide to Getting Your App Online

The Rails hosting landscape has changed dramatically. Heroku’s free tier is long gone, Docker has become the default deployment strategy, and DHH’s “One Person Framework” vision is more achievable than ever. If you’re spinning up a new Rails 8 app or migrating an existing project, here’s everything you need to know about your hosting options in 2025.

The Current State of Rails Hosting

Rails apps have specific requirements that not every host handles gracefully. You need a Ruby runtime, asset compilation, background job processing (Sidekiq, Solid Queue), database support (typically PostgreSQL), and ideally some form of caching layer. The good news? The ecosystem has matured significantly, and you have more viable options than ever.

The hosting spectrum roughly breaks down into three categories: managed PaaS providers that handle everything for you, self-hosted solutions where you run your own infrastructure, and hybrid approaches that give you the best of both worlds.

Platform-as-a-Service Options

Heroku: The OG That Still Works

Heroku pioneered the git push deployment workflow that every other platform now copies. Despite being acquired by Salesforce and losing its free tier, it remains incredibly developer-friendly. PostgreSQL, Redis, background workers—everything just works with minimal configuration.

The tradeoff is cost. Heroku’s pricing reflects its managed nature, and once you scale beyond a basic dyno, the bills add up quickly. For MVPs and early-stage projects where developer time is more valuable than hosting costs, it’s still a solid choice. But many teams are now looking elsewhere once they need to scale.

Render: The Modern Heroku Alternative

Render positions itself as what Heroku should have become. Git-based deployments, managed PostgreSQL with point-in-time recovery, background workers, cron jobs, and private networking—all from a single platform.

The standout feature is its comprehensiveness. You don’t need to stitch together five different services to run a production Rails app. Autoscaling works well, zero-downtime deploys are the default, and the pricing is more predictable than Heroku’s. If you want a “set it and forget it” experience but can’t stomach Heroku’s prices, Render deserves serious consideration.

The main limitation is fewer global regions compared to Fly.io, so if latency to users in Asia or Australia matters, you might need to look elsewhere.

Fly.io: Edge Deployment for Rails

Fly.io takes a different approach: run your app close to your users. With 35+ global regions and their Firecracker micro-VM technology, you can deploy Rails apps to the edge without thinking about containers.

The developer experience is CLI-first, which some love and others find frustrating. You’ll work with flyctl commands rather than clicking through a dashboard. Fly handles SSL, load balancing, and even offers managed Postgres with regional read replicas.

The sweet spot for Fly is apps with a global user base where latency matters. If your users are all in one region, the edge benefits don’t justify the slightly steeper learning curve compared to Render.

Railway: Speed Over Everything

Railway optimises for the fastest path from code to production. Their visual canvas approach to infrastructure is surprisingly intuitive, and spinning up a Rails app with Postgres takes minutes rather than hours.

The usage-based pricing can be a double-edged sword. It’s great for prototypes and sporadic traffic, but can get expensive if you’re not careful about resource consumption. Railway is excellent for prototypes, internal tools, and projects where you want to ship fast without thinking too hard about infrastructure.

Self-Hosted with Kamal: The Rails 8 Default

Here’s where things get interesting. Rails 8 ships with Kamal as the default deployment tool, and it fundamentally changes the self-hosting equation.

Kamal is essentially Capistrano for containers. You point it at any server with SSH access, and it handles Docker installation, container orchestration, zero-downtime deployments, and SSL termination via its built-in proxy. No Kubernetes complexity, no vendor lock-in. You can find the source and detailed docs on GitHub.

The workflow is refreshingly simple. Your config/deploy.yml defines your servers, Docker registry, and environment variables. Run kamal setup once to prepare your servers, then kamal deploy for each deployment. It builds your Docker image locally (or remotely), pushes it to a registry, and seamlessly transitions traffic to the new container.

# config/deploy.yml - A minimal example
service: myapp
image: username/myapp

servers:
  web:
    hosts:
      - 192.168.1.1
    
proxy:
  ssl: true
  host: myapp.com

accessories:
  postgres:
    image: postgres:16-alpine
    host: 192.168.1.1
    port: 5432

The killer advantage? You can run on any VPS provider. A €5/month Hetzner server or a $6/month DigitalOcean droplet suddenly becomes a viable production host. 37signals famously moved HEY and Basecamp from cloud to their own hardware using Kamal, dramatically cutting costs.

VPS Providers: Where Your Containers Live

If you’re going the Kamal route—or running Docker any other way—you need somewhere to run those containers.

Hetzner: The Price-Performance King

Hetzner consistently offers the best specs-per-dollar in the VPS market. Their entry-level €4.90/month cloud server includes 2 vCPUs, 4GB RAM, and 40GB SSD—roughly 2x the resources of comparably priced DigitalOcean droplets.

The catch is geographic focus. Data centres in Germany, Finland, and the US (Ashburn and Hillsboro) cover most use cases, but if you need presence in Asia or Australia, you’ll need to look elsewhere. For European-focused apps or teams that prioritise cost efficiency, Hetzner is hard to beat.

DigitalOcean: The Developer-Friendly Middle Ground

DigitalOcean pioneered the developer-friendly VPS experience and still delivers. Clean UI, excellent documentation, 15+ global regions, and a comprehensive ecosystem of managed services (databases, Kubernetes, load balancers, object storage).

You pay a premium for that polish—a comparable DigitalOcean droplet costs roughly 2x a Hetzner server for similar specs. But if you value a broader managed service ecosystem or need presence in regions Hetzner doesn’t cover, the premium can be worth it.

Linode (Akamai): The Balanced Option

Now part of Akamai, Linode offers solid price-performance with clear pricing and a large global footprint. It sits somewhere between Hetzner’s raw value and DigitalOcean’s polish. Worth considering if you want geographic diversity without paying DigitalOcean rates.

The One Person Framework Philosophy

DHH’s vision for Rails as a “One Person Framework” directly influences these hosting decisions. The idea is that a single developer should be able to build and deploy a competitive business without needing a DevOps team.

Rails 8 pushes this further with several key changes. Solid Queue replaces Sidekiq as the default background job processor, running directly on your database rather than requiring Redis. Solid Cache does the same for caching. And SQLite is now production-ready for many use cases, meaning you can run a complete Rails app on a single server with no external dependencies.

Combined with Kamal, a solo developer can now deploy a full-featured Rails 8 app to a €5/month VPS with zero-downtime deployments, SSL, background jobs, and caching—all without touching Kubernetes or understanding container orchestration.

This isn’t about avoiding best practices; it’s about delaying complexity until you need it. Start simple, scale when necessary.

Decision Framework

Here’s how I’d approach the decision in 2025:

Choose Render or Heroku if:

  • Developer time is more valuable than hosting costs
  • You want zero infrastructure management
  • You’re building an MVP or early-stage product
  • Your team doesn’t have ops experience

Choose Fly.io if:

  • You have users globally and latency matters
  • You’re comfortable with CLI-based workflows
  • You need edge computing capabilities

Choose Kamal + Hetzner/DigitalOcean if:

  • You want to minimise hosting costs
  • You’re comfortable with basic server administration
  • You want to avoid platform lock-in
  • You’re building something intended to last

Choose AWS/GCP if:

  • You need enterprise compliance (SOC 2, PCI DSS)
  • You require services that only hyperscalers offer
  • You have dedicated DevOps resources

My Recommendation

For most indie developers and small teams in 2025, I’d start with Kamal on Hetzner. The combination of Rails 8’s self-contained defaults (Solid Queue, Solid Cache) with Kamal’s deployment simplicity means you can run a production app for €5-10/month while maintaining full control.

If that sounds like too much infrastructure work, Render is the best PaaS option for Rails. It’s affordable enough to not feel wasteful, comprehensive enough to avoid vendor sprawl, and simple enough that you won’t spend weekends debugging deployment pipelines.

The days of needing a five-figure monthly hosting budget to run a Rails app at scale are over. Pick the option that matches your constraints, ship your app, and iterate from there.


Published December 2025. The Rails hosting landscape continues to evolve—check current pricing and features before making decisions.

Further Reading & Resources

Kamal & Deployment

Platform Comparisons

One Person Framework Philosophy

Hosting Providers