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)