aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-01-02 16:28:34 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-01-02 16:28:34 +0000
commit37ff6fafd3d9c9aca4b9d6547f20852ce00659be (patch)
tree5580f5c6c783546a0b891e636a6df9084d0e5fd2
parenteb2f714c43ee1cf7c6070ca11511ccae6ec44604 (diff)
www/rubygem-thruster: Add rubygem-thruster 0.1.9
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.
-rw-r--r--www/Makefile1
-rw-r--r--www/rubygem-thruster/Makefile19
-rw-r--r--www/rubygem-thruster/distinfo3
-rw-r--r--www/rubygem-thruster/pkg-descr28
4 files changed, 51 insertions, 0 deletions
diff --git a/www/Makefile b/www/Makefile
index 6a5c65ecabbc..9a313baca7ad 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -2346,6 +2346,7 @@
SUBDIR += rubygem-tailwindcss-rails-rails71
SUBDIR += rubygem-task_list
SUBDIR += rubygem-thin
+ SUBDIR += rubygem-thruster
SUBDIR += rubygem-tinyatom
SUBDIR += rubygem-tinymce-rails
SUBDIR += rubygem-toml-rb
diff --git a/www/rubygem-thruster/Makefile b/www/rubygem-thruster/Makefile
new file mode 100644
index 000000000000..e9fb70793352
--- /dev/null
+++ b/www/rubygem-thruster/Makefile
@@ -0,0 +1,19 @@
+PORTNAME= thruster
+PORTVERSION= 0.1.9
+CATEGORIES= www rubygems
+MASTER_SITES= RG
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Zero-config HTTP/2 proxy for lightweight production deployments
+WWW= https://github.com/basecamp/thruster
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+USES= gem
+
+NO_ARCH= yes
+
+PLIST_FILES= bin/thrust
+
+.include <bsd.port.mk>
diff --git a/www/rubygem-thruster/distinfo b/www/rubygem-thruster/distinfo
new file mode 100644
index 000000000000..04d3391c4dcb
--- /dev/null
+++ b/www/rubygem-thruster/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1735802496
+SHA256 (rubygem/thruster-0.1.9.gem) = 8ef3e143012ce2a3b7b6a876cc1878dff8b865f2e95a70561326eca92b0c7f01
+SIZE (rubygem/thruster-0.1.9.gem) = 7680
diff --git a/www/rubygem-thruster/pkg-descr b/www/rubygem-thruster/pkg-descr
new file mode 100644
index 000000000000..9c687024e3d1
--- /dev/null
+++ b/www/rubygem-thruster/pkg-descr
@@ -0,0 +1,28 @@
+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.