Development

Rails Stack

Production-ready Ruby environment — Rails, Puma, Nginx, PostgreSQL.

About Rails Stack

Rails Stack provisions your VPS with everything a Ruby on Rails application needs in production: Ruby 3.2 from Ubuntu 24.04 packages, Bundler, Puma as the application server, Nginx as the reverse proxy, PostgreSQL as the database, and Redis for caching and background jobs.

Rails 7 and Rails 8 both run without changes. Propshaft and importmap are supported out of the box for asset management without a complex Node.js build pipeline. Sidekiq or Solid Queue can be added to the same VPS to handle background jobs — all managed by systemd, no container overhead.

The stack targets developers who want to self-host their Rails SaaS or internal tool on a predictable fixed-cost VPS rather than paying per dyno. You control the Puma thread count, the Sidekiq concurrency, the PostgreSQL connection pool — and you keep the full stack visible and auditable.

What gets installed

Ready when the VPS starts

Compatible OS
Ubuntu 24.04
Application
Rails Stack
Tech stack
Ruby 3.2PumaNginxPostgreSQLRedisBundler
Minimum RAM
2 GB
Minimum CPU
1 vCPU
Access
root over SSH

Key features

  • Ruby 3.2 from Ubuntu 24.04 packages — stable release ready for Rails 7 and Rails 8, installed from official repos without PPA delays.
  • Bundler pre-installed — run bundle install after cloning your repository and all gems are ready.
  • Puma application server — multi-threaded WSGI-equivalent for Ruby; configure WEB_CONCURRENCY and RAILS_MAX_THREADS to match your VPS RAM.
  • Nginx reverse proxy — serves public/assets directly, handles TLS termination via Let's Encrypt, passes dynamic requests to Puma's Unix socket.
  • PostgreSQL preconfigured — the recommended production database for Rails; JSONB, full-text search and the pg gem work out of the box.
  • Redis pre-installed — enables Sidekiq background workers, Rails.cache, and Action Cable without any additional setup.
  • Sidekiq and Solid Queue ready — add either to your Gemfile and create a systemd unit; both work on the same VPS alongside Puma.

When to use this solution?

Rails SaaS self-hosted

Clone your Rails repository into /var/www/your-app, create a .env file with DATABASE_URL, REDIS_URL and SECRET_KEY_BASE, run bundle install, db:migrate and assets:precompile, then point Puma at a Unix socket and Nginx at that socket — your SaaS is live on a fixed-cost VPS.

API backend with Active Record

Rails makes an excellent JSON API server — Active Record, strong params and serializers are production-ready. Deploy the API mode stack (no asset pipeline) on a 1 GB VPS; Nginx rate-limits and handles CORS headers before requests reach Puma.

Background job processing with Sidekiq

Rails Stack includes Redis, so adding Sidekiq is a Gemfile entry and a systemd unit away. Run email delivery, image processing and report generation in background workers on the same VPS — no separate dyno, no extra billing.

Guide

Deploy Rails Stack on your VPS

  1. Order a ServOrbit VPS

    Choose 2 GB RAM on Ubuntu 24.04 as a minimum for a single Rails application with PostgreSQL. Use 4 GB if you plan to run Sidekiq workers or a memory-intensive Redis cache. The Rails Stack template is available in the marketplace order form.

  2. Deploy from the marketplace

    Go to Marketplace → Development → Rails Stack and click Deploy. The provisioning script installs Ruby 3.2, Bundler, Rails, Puma, Nginx, PostgreSQL and Redis — no manual SSH session required for the base setup.

  3. Clone your project and configure

    SSH into the VPS, clone your repository into /var/www/your-app, run gem install bundler if needed, then bundle install --without development test. Create a .env file or export SECRET_KEY_BASE, DATABASE_URL and RAILS_ENV=production.

  4. Run migrations and precompile assets

    Activate your environment and run RAILS_ENV=production bin/rails db:migrate then RAILS_ENV=production bin/rails assets:precompile. Nginx is already configured to serve public/assets and public/packs directly.

  5. Start Puma and enable HTTPS

    Start Puma: bundle exec puma -C config/puma.rb. Configure a systemd unit to keep it alive after reboots. Run certbot --nginx -d your-domain.com to get a free Let's Encrypt certificate — Nginx is already installed and running.

Frequently asked questions

Questions about Rails Stack

← Back to DevelopmentAll applications
Ruby 3.2 from Ubuntu 24.04 official packages. Rails 7 and Rails 8 both run on 3.2 without any compatibility issue. If you need a different version, install rbenv or asdf alongside the system Ruby and manage multiple versions per project.

Embed the deploy button

Maintaining a project that uses Rails Stack? This button lets your readers deploy it on a VPS in one click, without reading Docker documentation.

Deploy Rails Stack on ServOrbit
Markdown
[![Deploy Rails Stack on ServOrbit](https://servorbit.com/brand/deploy/button.svg)](https://servorbit.com/vps-cloud?template=rails-stack&utm_source=deploy-badge&utm_medium=referral&utm_campaign=rails-stack)
HTML
<a href="https://servorbit.com/vps-cloud?template=rails-stack&utm_source=deploy-badge&utm_medium=referral&utm_campaign=rails-stack"><img src="https://servorbit.com/brand/deploy/button.svg" alt="Deploy Rails Stack on ServOrbit" height="40"></a>

The button points to a VPS order with the template preselected. The image is served from servorbit.com — nothing to host on your side.

Need help?

Browse our help center and FAQ, or reach our team — callback, WhatsApp or email.

Message us on WhatsAppopens in a new tab