DEV Community

Cover image for The Complete Guide to Deploying Rails 8 with Kamal on Hetzner
Mooktakim Ahmed
Mooktakim Ahmed

Posted on

The Complete Guide to Deploying Rails 8 with Kamal on Hetzner

I wrote the end-to-end deployment guide I wish existed when I first set up Rails 8 with Kamal.

Most tutorials cover bits and pieces - here's one that covers everything from a bare server to production.

What it covers

  • Ordering and provisioning a Hetzner dedicated server
  • Ansible provisioning with kamal-ansible-manager
  • The production Dockerfile (jemalloc, Thruster, multi-stage build)
  • Kamal deploy.yml — every section explained
  • The full Solid stack: Solid Queue, Solid Cache, Solid Cable with 4 separate SQLite databases
  • ActiveStorage in proxy mode for Cloudflare caching
  • First deploy with kamal setup
  • Cloudflare DNS, SSL (Full mode), and CDN caching
  • Hetzner Storage Box for off-server backups via Samba/CIFS
  • Netdata for server monitoring
  • Litestream for continuous SQLite replication
  • docker-volume-backup for daily storage snapshots

The stack

No Postgres. No Redis. No PaaS. Everything runs on a single server for ~36 EUR/month.

Client → Cloudflare → kamal-proxy → Thruster → Puma → Rails 8

Read the full guide here: The Complete Guide to Deploying Rails 8 with Kamal on
Hetzner

Happy to answer any questions in the comments.

Top comments (0)