29 lines
1.5 KiB
Plaintext
29 lines
1.5 KiB
Plaintext
Thruster is an HTTP/2 proxy for simple production-ready deployments of Rails
|
|
applications. It runs alongside the Puma webserver to provide a few additional
|
|
features that help your app run efficiently and safely on the open Internet:
|
|
- HTTP/2 support
|
|
- Automatic TLS certificate management with Let's Encrypt
|
|
- Basic HTTP caching of public assets
|
|
- X-Sendfile support and compression, to efficiently serve static files
|
|
|
|
Thruster aims to be as zero-config as possible. It has no configuration file,
|
|
and most features are automatically enabled with sensible defaults. The goal is
|
|
that simply running your Puma server with Thruster should be enough to get a
|
|
production-ready setup.
|
|
|
|
The only exception to this is TLS provisioning: in order for Thruster to
|
|
provision TLS certificates, it needs to know which domain those certificates
|
|
should be for. So to use TLS, you need to set the TLS_DOMAIN environment
|
|
variable. If you don't set this variable, Thruster will run in HTTP-only mode.
|
|
|
|
Thruster also wraps the Puma process so that you can use it without managing
|
|
multiple processes yourself. This is particularly useful when running in a
|
|
containerized environment, where you typically won't have a process manager
|
|
available to coordinate the processes. Instead you can use Thruster as your CMD,
|
|
and it will manage Puma for you.
|
|
|
|
Thruster was originally created for the ONCE project, where we wanted a no-fuss
|
|
way to serve a Rails application from a single container, directly on the open
|
|
Internet. We've since found it useful for simple deployments of other Rails
|
|
applications.
|