Just finished migrating our deployment from Capistrano to Kamal 2 and wanted to share my experience.
The good:
- Zero-downtime deploys out of the box
- Docker-based, so your dev and prod environments match
- Thruster handles SSL and asset caching beautifully
The tricky parts:
- Getting environment variables right took some fiddling
- Health check configuration needs attention for apps with slow boot times
Overall, I'm very happy with the switch. Anyone else using Kamal?
Comments (4)
Log in to reply to this post.
Been considering the switch from Heroku. How long did the migration take you overall?
About a week of evenings to get it fully working, including setting up the VPS. Once it's configured, deploys are a single command. Totally worth it.
I've been using Kamal since 1.0 and the 2.0 upgrade was smooth. The proxy replacement for Traefik is much simpler to configure.
Thanks for the writeup! Would you mind sharing your deploy.yml (sanitized of course)? I'm about to set this up for a new project.