Rails Deployments for Mere Mortals
If you want to master something, teach it. - Richard Feynman
This is the introductory post in a series of verynormal.info posts on deploying Rails in 2025 using Kamal and Google Cloud Platform.
Goal
By the end of this series, you will be able to deploy a hello world Rails application to Google Cloud Platform using Kamal. The application will be accessible by anyone with an internet connection.
Forward
I love writing code and if you are reading this chances are that you do as well.
I do not love infrastructure. I grew up in the days of free Heroku hosting and I've always found my mind has a block when it comes to things like virtual machines, containers, firewalls, and many of the concerns you can simply ignore when using a platform as a service (paas).
My distaste for all things infrastructure has become an obstacle on my interest in making tools with code. If this sounds familiar, Rails Deployments for Mere Mortals is for you.
Rails Deployments for Mere Mortals covers everything you need to deploy a new Rails application so that you can focus on the fun part, coding your next big thing.
Most deployment guides are meant for smart people, which means they are stupid difficult for me. This guide does not take a single command or click for granted. It will drag you kicking and screaming to productionization.
How to use this guide
Each post in this guide begins with the goal. The bulk of each post will be in the steps section, which will include step by step instructions and screenshots. The conclusion will include a summary, a preview of the next post, and source documentation.
I hope this guide helps you scale from HELLO WORLD to IPO. Let me know what you think.
Table of contents
- Tools for Rails Deployments For Mere Mortals
- Baby's First Google Compute Instance
- Secure Shell Key Generation
- Locking Your Virtual Machine's Front Door
- Bootstrap the Virtual Machine
- Hello World Rails Speed Run
- Artifact Registry Setup
- Trust 1Password with your JSON Key
- Kamal Secrets Are No Fun
- Domain Name Setup
- Deploying Without Tears
Member discussion