Application monitoring that helps developers get it done.
Deploy apps to servers that you own and control.
In addition to the Solid gems, another important update in Rails 8 is the handcrafted Dockerfile designed specifically for production deployments.
This Dockerfile is optimized for production, not development. If you want to use containerized development environments, Rails offers extensive support for Dev Containers, which you can explore through the link provided.
There's a lot happening in this Dockerfile, but I want to highlight a few key details:
Multi-Stage Build for a Smaller Image Size
Optimized Entry Point & HTTP/2 Support
If you don’t use this Dockerfile for deployment—such as when deploying to Hatchbox or other platforms—you need to replicate these optimizations manually. Ensuring that:
This Dockerfile is designed to work with Kamal, the new built-in Rails deployment tool.
Personally, I don’t use Kamal because:
Instead, I prefer using Hatchbox, a straightforward deployment service that makes it easy to ship Rails apps to production without extra complexity.
That being said, Kamal is worth exploring, and I may revisit it in the future. If you’re looking for a fast, reliable way to deploy Rails 8 apps, Hatchbox remains my go-to solution.
Now that we’ve covered Docker, Kamal, and deployment considerations, it’s time to dive into building our Rails 8 application.