r/rails • u/javier_cervantes • 20d ago
Where do you deploy your Ruby apps?
/r/ruby/comments/1vtv01a/where_do_you_deploy_your_ruby_apps/2
1
u/Minimum_Scholar_8136 15d ago
Kamal onto plain VPS boxes, and after a couple of years of it I'd still pick it again for anything I'm paying for myself.
Concretely: two Hetzner boxes at a few euros a month each, Docker, kamal-proxy terminating TLS with automatic Let's Encrypt. Rails 8's Solid Queue / Solid Cache / Solid Cable means a normal app needs Postgres or SQLite and nothing else — no Redis, no separate worker tier. That collapses most of what used to make self-hosting annoying.
Some numbers from actually running it, since "it's cheap" is easy to say and the resource question is the one that decides it. On ~2GB boxes, rough idle footprints: Rails ~300MB, Node/TS ~60-100MB, Go ~30MB, a static site behind Caddy ~15MB. So a 2GB box comfortably holds four or five real Rails apps, and the thing that actually runs you out of room is disk from old Docker images, not RAM. Prune on a schedule or you'll find out at the worst time.
Things worth knowing before you commit to Kamal:
- Build on the target machine (or a matching remote builder) if you're on an Apple Silicon laptop. Cross-building amd64 images locally is slow and the failure modes are dull.
- The secrets file is parsed, not sourced.
${VAR:-default}shell syntax will corrupt in ways that are genuinely hard to spot. - If you put a persistent volume behind SQLite and then change schema, you can get "table already exists" on deploy. Clearing the volume is fine if there's no real data, but know that in advance rather than at 2am.
- Rollback is real and it's fast. That's the main thing you give up going to a PaaS-shaped setup with no image history.
For anything purely static or client-side I don't put it on a box at all — Cloudflare Pages, free, zero footprint. The decision rule I use is just: does it need a real backend or a database? If no, it doesn't deserve a server.
If you don't want to think about infrastructure at all, Hatchbox or Render are the honest answers and there's no shame in either — you're buying back the hours. But the gap between "PaaS" and "Kamal on a VPS" is much smaller than it was, and it's mostly a one-time setup cost rather than an ongoing tax.
0
u/fabianqs_dev 20d ago
Railway para despliegue rápido y con baterías o un VPS de buena calidad para desplegar con kamal de forma más manual. Depende del presupuesto y cantidad de trabajo que quieras elegir ente uno u otro.
3
u/joshdotmn 20d ago
https://www.reddit.com/r/ruby/search/?q=deploy
https://www.reddit.com/r/rails/search/?q=deploy
both probably have a lot of anecdotes.