Fullstaq Ruby is a custom build of standard MRI Ruby interpreter with memory allocator replaced, security patches applied, and more goodies on the way.
These images are intended to be used while Fullstaq and Hongli Lai haven't build their own.
Pull it directly from the quay.io registry:
docker pull quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-slim
Or use as base image in your Dockerfile
:
ARG RUBY_VERSION=3.3.5-jemalloc
FROM quay.io/evl.ms/fullstaq-ruby:${RUBY_VERSION}-slim
Ruby 3.3.5, 3.2.5, 3.1.6, and 3.0.7 with jemalloc and malloctrim are available. Images are built on top of Debian 10 (buster), 11 (bullseye), also Ruby 3.2 and newer are build on top of Debian 12 (bookworm):
# 3.3:
docker pull quay.io/evl.ms/fullstaq-ruby:3.3.5-jemalloc-bookworm-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.3.5-jemalloc-bookworm
docker pull quay.io/evl.ms/fullstaq-ruby:3.3.5-jemalloc-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.3.5-jemalloc-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:3.3.5-jemalloc-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.3.5-jemalloc-buster
docker pull quay.io/evl.ms/fullstaq-ruby:3.3.5-malloctrim-bookworm-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.3.5-malloctrim-bookworm
docker pull quay.io/evl.ms/fullstaq-ruby:3.3.5-malloctrim-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.3.5-malloctrim-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:3.3.5-malloctrim-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.3.5-malloctrim-buster
# 3.2:
docker pull quay.io/evl.ms/fullstaq-ruby:3.2.5-jemalloc-bookworm-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.2.5-jemalloc-bookworm
docker pull quay.io/evl.ms/fullstaq-ruby:3.2.5-jemalloc-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.2.5-jemalloc-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:3.2.5-jemalloc-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.2.5-jemalloc-buster
docker pull quay.io/evl.ms/fullstaq-ruby:3.2.5-malloctrim-bookworm-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.2.5-malloctrim-bookworm
docker pull quay.io/evl.ms/fullstaq-ruby:3.2.5-malloctrim-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.2.5-malloctrim-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:3.2.5-malloctrim-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.2.5-malloctrim-buster
# 3.1:
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.6-jemalloc-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.6-jemalloc-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.6-jemalloc-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.6-jemalloc-buster
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.6-malloctrim-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.6-malloctrim-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.6-malloctrim-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.6-malloctrim-buster
# 3.0:
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.7-jemalloc-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.7-jemalloc-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.7-jemalloc-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.7-jemalloc-buster
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.7-malloctrim-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.7-malloctrim-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.7-malloctrim-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.7-malloctrim-buster
Latest patch versions for Ruby 3.3 on Debian 12 (bookworm) are also aliased with shortened tags including major and minor versions only: 3.3.5-jemalloc-bookworm → 3.3-jemalloc
docker pull quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-slim # Same as quay.io/evl.ms/fullstaq-ruby:3.3.5-jemalloc-bookworm-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc # Same as quay.io/evl.ms/fullstaq-ruby:3.3.5-jemalloc-bookworm
docker pull quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim-slim # Same as quay.io/evl.ms/fullstaq-ruby:3.3.5-malloctrim-bookworm-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim # Same as quay.io/evl.ms/fullstaq-ruby:3.3.5-malloctrim-bookworm
For Ruby 3.2 and 3.1, short aliases for latest patch versions are made against Debian 11 (bullseye): 3.2.5-jemalloc-bullseye → 3.2-jemalloc
For Ruby 3.0, short aliases for latest patch versions are made against Debian 10 (buster): 3.0.7-jemalloc-buster → 3.0-jemalloc
Ruby is installed from official APT package repository. Rbenv isn't used.
After a new version of Ruby was released:
-
Check pull requests at the https://github.com/fullstaq-ruby/server-edition/ repository and ensure that packages for the target version has been build and published (pull request adding this has been merged).
-
Execute
make bump VERSION=X.Y.Z
(specify full version inX.Y.Z
), it will replace previous patch version in both Github Action and README files. -
Commit and push changed
README.md
and.github/workflows/build-push.yml
. Once they will reach main branch, new images will be pushed to the registry automatically.