⟵ Archive

Railcar+Railroad: A Ready-to-Deploy Rails 7 and Capistrano Solution

| Shey Sewani | Toronto
Banner image for Railcar+Railroad: A Ready-to-Deploy Rails 7 and Capistrano Solution

These days software feels over-engineered and expensive. Long build and deploy cycles are commonplace. I miss what software development felt like circa 2016. I miss the easy debugability, how simple things were to learn, and the ability to carry over what I learned from one place to another.

If you’re like me, you miss the old days and enjoy working with Rails, are comfortable running a production server, or are interested in understanding how things worked in the past; then this post is for you.

Introducing Railcar and Railroad– two sibling projects demonstrating how to use Capistrano to deploy a Rails project to a Ubuntu server.

The Railcar repo is a Rails 7.0.5 project pre-configured with Capistrano; the Railroad repo with Ansible playbooks and roles to configure a Ubuntu 20.04 server with a Rails 7 environment (Rbenv, Nginx, LetsEncrypt/TLS, Unicorn, and Postgres).

Each repository has installation and setup instructions.

Railroad and Railcar are new projects with old technology, providing a suitable alternative to PaaS. It is a scaled-down version of the same setup that served Rails apps reliably for a decade.

Railcar and Railroad are not just trips down memory lane but valuable resources demonstrating how we can still leverage tools like Capistrano to deploy projects efficiently and effectively.

The outage.name website runs a slightly modified version of Railcar on a budget-friendly $7/month DigitalOcean VPS configured with Railroad.

Whether you’re an old-school Rails fan, a developer seeking to understand the roots of current technology, or someone looking for a viable alternative to PaaS, there’s something here for everyone.

Running Rails on AWS? Reach out and say hi 👋🏽!