ruby

Ruby interpreter for running Rack, Sinatra and Rails workloads. Compiled from upstream source, signed and SBOM-attested, rebuilt daily against CVE fixes.

Vulnerabilities
None
Compressed size
43 MB
Architectures
amd64, arm64
Default user
nonroot (65532)
Last built
today

Pull this image

docker pull ghcr.io/rtvkiz/minimal-ruby:latest
Repository
ghcr.io/rtvkiz/minimal-ruby
Digest
sha256:6b8a26c684ca70519ffbbd21d3de508ca1fabda11aa69a60330e67a9c50a2cd4
Built at
2026-11-12T08:01:00Z
Primary package
ruby
Entrypoint
/usr/bin/ruby
Cmd
--version
User
nonroot (65532)
Working dir
/work
Architectures
x86_64, aarch64
Environment
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/binSSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crtLANG=C.UTF-8
Labels
org.opencontainers.image.titleminimal-ruby
org.opencontainers.image.descriptionHardened Ruby runtime image built from source via melange
org.opencontainers.image.urlhttps://github.com/rtvkiz/minimal
org.opencontainers.image.sourcehttps://github.com/rtvkiz/minimal/tree/main/images/ruby
org.opencontainers.image.licensesRuby AND MIT
TagPullPublished
4 ghcr.io/rtvkiz/minimal-ruby:4 2026-11-12
4.0 ghcr.io/rtvkiz/minimal-ruby:4.0 2026-11-12
4.0.9-r1 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1 2026-11-12
4.0.9-r1-20261112 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261112 2026-11-12
latest ghcr.io/rtvkiz/minimal-ruby:latest 2026-11-12
4-dev ghcr.io/rtvkiz/minimal-ruby:4-dev 2026-11-12
4.0-dev ghcr.io/rtvkiz/minimal-ruby:4.0-dev 2026-11-12
4.0.9-r1-20261112-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261112-dev 2026-11-12
4.0.9-r1-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-dev 2026-11-12
latest-dev ghcr.io/rtvkiz/minimal-ruby:latest-dev 2026-11-12
4.0.9-r1-20261111-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261111-dev 2026-11-11
4.0.9-r1-20261111 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261111 2026-11-11
4.0.9-r1-20261110-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261110-dev 2026-11-10
4.0.9-r1-20261110 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261110 2026-11-10
4.0.9-r1-20261109 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261109 2026-11-09
4.0.9-r1-20261109-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261109-dev 2026-11-09
4.0.9-r1-20261108 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261108 2026-11-08
4.0.9-r1-20261108-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261108-dev 2026-11-08
4.0.9-r1-20261107 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261107 2026-11-07
4.0.9-r1-20261107-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261107-dev 2026-11-07
4.0.9-r1-20261106 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261106 2026-11-06
4.0.9-r1-20261106-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261106-dev 2026-11-06
4.0.9-r1-20261105 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261105 2026-11-05
4.0.9-r1-20261105-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261105-dev 2026-11-05
4.0.9-r1-20261104 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261104 2026-11-04
4.0.9-r1-20261104-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261104-dev 2026-11-04
4.0.9-r1-20261031 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261031 2026-10-31
4.0.9-r1-20261031-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r1-20261031-dev 2026-10-31
4.0.9-r0-20261027-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r0-20261027-dev 2026-10-27
4.0.9-r0-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r0-dev 2026-10-27
4.0.9-r0 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r0 2026-10-27
4.0.9-r0-20261027 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r0-20261027 2026-10-27
4.0.9-r0-20261026 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r0-20261026 2026-10-26
4.0.9-r0-20261026-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r0-20261026-dev 2026-10-26
4.0.9-r0-20261025 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r0-20261025 2026-10-25
4.0.9-r0-20261025-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r0-20261025-dev 2026-10-25
4.0.9-r0-20261024 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r0-20261024 2026-10-24
4.0.9-r0-20261024-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r0-20261024-dev 2026-10-24
4.0.9-r0-20261023 ghcr.io/rtvkiz/minimal-ruby:4.0.9-r0-20261023 2026-10-23
4.0.9-r0-20261023-dev ghcr.io/rtvkiz/minimal-ruby:4.0.9-r0-20261023-dev 2026-10-23
4.0.8-r0-20261023-dev ghcr.io/rtvkiz/minimal-ruby:4.0.8-r0-20261023-dev 2026-10-23
4.0.8-r0-dev ghcr.io/rtvkiz/minimal-ruby:4.0.8-r0-dev 2026-10-23
4.0.8-r0 ghcr.io/rtvkiz/minimal-ruby:4.0.8-r0 2026-10-23
4.0.8-r0-20261023 ghcr.io/rtvkiz/minimal-ruby:4.0.8-r0-20261023 2026-10-23
4.0.7-r0-20261023-dev ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261023-dev 2026-10-23
4.0.7-r0-dev ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-dev 2026-10-23
4.0.7-r0 ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0 2026-10-23
4.0.7-r0-20261023 ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261023 2026-10-23
4.0.7-r0-20261022 ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261022 2026-10-22
4.0.7-r0-20261022-dev ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261022-dev 2026-10-22
4.0.7-r0-20261021-dev ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261021-dev 2026-10-21
4.0.7-r0-20261021 ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261021 2026-10-21
4.0.7-r0-20261020 ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261020 2026-10-20
4.0.7-r0-20261020-dev ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261020-dev 2026-10-20
4.0.7-r0-20261019-dev ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261019-dev 2026-10-19
4.0.7-r0-20261019 ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261019 2026-10-19
4.0.7-r0-20261018-dev ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261018-dev 2026-10-18
4.0.7-r0-20261018 ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261018 2026-10-18
4.0.7-r0-20261017 ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261017 2026-10-17
4.0.7-r0-20261017-dev ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261017-dev 2026-10-17
4.0.7-r0-20261016 ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261016 2026-10-16
4.0.7-r0-20261016-dev ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261016-dev 2026-10-16
4.0.7-r0-20261015 ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261015 2026-10-15
4.0.7-r0-20261015-dev ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261015-dev 2026-10-15
4.0.7-r0-20261014 ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261014 2026-10-14
4.0.7-r0-20261014-dev ghcr.io/rtvkiz/minimal-ruby:4.0.7-r0-20261014-dev 2026-10-14

The resolved SBOM isn't available for this build yet — showing the packages requested in the apko build recipe (without resolved versions). The full SBOM appears after the next scheduled build.

wolfi-baselayoutrubyglibcglibc-locale-posixld-linuxlibgcclibstdc++libssl3libcrypto3libcrypt1zlibyamllibffireadlineca-certificates-bundle

Clean   No known vulnerabilities in the latest scan.

Everything is verifiable without an account. Copy and run:

Build provenance (SLSA v1.0, Build L2)

gh attestation verify oci://ghcr.io/rtvkiz/minimal-ruby:latest --owner rtvkiz

Cosign signature

cosign verify \
  --certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
  --certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
  ghcr.io/rtvkiz/minimal-ruby:latest

SBOM attestation (SPDX)

cosign verify-attestation --type spdxjson \
  --certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
  --certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
  ghcr.io/rtvkiz/minimal-ruby:latest \
  | jq -r '.payload | @base64d | fromjson | .predicate'

Signatures are logged in the public Rekor transparency log.

More Languages & Runtimes images

Weighing this against another provider? The comparison pages publish head-to-head scan data with the raw dataset, including the images where Minimal comes off worse — or read the migration guide for what actually breaks when you switch.