Rails 8 ships Thruster, a lightweight Go-based HTTP/2 proxy from 37signals, as the default in its generated Docker setup. Thruster wraps Puma and handles reverse-proxy duties including HTTP/2, automatic TLS via Let's Encrypt, asset caching, Gzip compression, and X-Sendfile support — all with zero config. This eliminates the need for a separate Nginx layer in simple single-container deployments. The post covers how Thruster works, its key features, configuration via environment variables, when to use or skip it, and a comparison with Nginx.
Table of contents
What is Thruster?BeforeAfterHow Thruster worksKey featuresConfigurationUsing Thruster in DockerSkipping ThrusterWhen to use ThrusterOperational caveatsThruster vs NginxConclusionSort: