From 9d2d630b014f5ed0447254787f53e9dce1166884 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Mon, 29 Dec 2025 10:29:44 +0100 Subject: [PATCH] [bitnami/ruby] Release 4.0.0-debian-12-r0 (#89186) Signed-off-by: Bitnami Bot --- bitnami/ruby/4.0/debian-12/Dockerfile | 56 +++++++++++++++++++ bitnami/ruby/4.0/debian-12/docker-compose.yml | 12 ++++ .../opt/bitnami/licenses/licenses.txt | 2 + .../prebuildfs/usr/sbin/install_packages | 27 +++++++++ .../debian-12/prebuildfs/usr/sbin/run-script | 24 ++++++++ .../prebuildfs/usr/sbin/uninstall_packages | 26 +++++++++ bitnami/ruby/docker-compose.yml | 2 +- 7 files changed, 148 insertions(+), 1 deletion(-) create mode 100644 bitnami/ruby/4.0/debian-12/Dockerfile create mode 100644 bitnami/ruby/4.0/debian-12/docker-compose.yml create mode 100644 bitnami/ruby/4.0/debian-12/prebuildfs/opt/bitnami/licenses/licenses.txt create mode 100755 bitnami/ruby/4.0/debian-12/prebuildfs/usr/sbin/install_packages create mode 100755 bitnami/ruby/4.0/debian-12/prebuildfs/usr/sbin/run-script create mode 100755 bitnami/ruby/4.0/debian-12/prebuildfs/usr/sbin/uninstall_packages diff --git a/bitnami/ruby/4.0/debian-12/Dockerfile b/bitnami/ruby/4.0/debian-12/Dockerfile new file mode 100644 index 000000000000..37966e0c7814 --- /dev/null +++ b/bitnami/ruby/4.0/debian-12/Dockerfile @@ -0,0 +1,56 @@ +# Copyright Broadcom, Inc. All Rights Reserved. +# SPDX-License-Identifier: APACHE-2.0 + +FROM docker.io/bitnami/minideb:bookworm + +ARG DOWNLOADS_URL="downloads.bitnami.com/files/stacksmith" +ARG TARGETARCH + +LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \ + org.opencontainers.image.created="2025-12-29T09:16:59Z" \ + org.opencontainers.image.description="Application packaged by Broadcom, Inc." \ + org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/ruby/README.md" \ + org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/ruby" \ + org.opencontainers.image.title="ruby" \ + org.opencontainers.image.vendor="Broadcom, Inc." \ + org.opencontainers.image.version="4.0.0" + +ENV OS_ARCH="${TARGETARCH:-amd64}" \ + OS_FLAVOUR="debian-12" \ + OS_NAME="linux" + +COPY prebuildfs / +SHELL ["/bin/bash", "-o", "errexit", "-o", "nounset", "-o", "pipefail", "-c"] +# Install required system packages and dependencies +RUN install_packages build-essential ca-certificates curl git libcrypt1 libffi8 libgcc-s1 libjemalloc2 libreadline-dev libsqlite3-dev libssl-dev libssl3 libstdc++6 libyaml-0-2 libyaml-dev pkg-config procps sqlite3 unzip wget zlib1g zlib1g-dev +RUN --mount=type=secret,id=downloads_url,env=SECRET_DOWNLOADS_URL \ + DOWNLOADS_URL=${SECRET_DOWNLOADS_URL:-${DOWNLOADS_URL}} ; \ + mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ || exit 1 ; \ + COMPONENTS=( \ + "ruby-4.0.0-0-linux-${OS_ARCH}-debian-12" \ + ) ; \ + for COMPONENT in "${COMPONENTS[@]}"; do \ + if [ ! -f "${COMPONENT}.tar.gz" ]; then \ + curl -SsLf "https://${DOWNLOADS_URL}/${COMPONENT}.tar.gz" -O ; \ + curl -SsLf "https://${DOWNLOADS_URL}/${COMPONENT}.tar.gz.sha256" -O ; \ + fi ; \ + sha256sum -c "${COMPONENT}.tar.gz.sha256" ; \ + tar -zxf "${COMPONENT}.tar.gz" -C /opt/bitnami --strip-components=2 --no-same-owner ; \ + rm -rf "${COMPONENT}".tar.gz{,.sha256} ; \ + done +RUN apt-get update && apt-get upgrade -y && \ + apt-get clean && rm -rf /var/lib/apt/lists /var/cache/apt/archives +RUN find / -perm /6000 -type f -exec chmod a-s {} \; || true +RUN sed -i 's/^PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/' /etc/login.defs && \ + sed -i 's/^PASS_MIN_DAYS.*/PASS_MIN_DAYS 0/' /etc/login.defs && \ + sed -i 's/sha512/sha512 minlen=8/' /etc/pam.d/common-password + +ENV APP_VERSION="4.0.0" \ + BITNAMI_APP_NAME="ruby" \ + IMAGE_REVISION="0" \ + PATH="/opt/bitnami/ruby/bin:$PATH" + +EXPOSE 3000 + +WORKDIR /app +CMD [ "irb" ] diff --git a/bitnami/ruby/4.0/debian-12/docker-compose.yml b/bitnami/ruby/4.0/debian-12/docker-compose.yml new file mode 100644 index 000000000000..d6835e36da44 --- /dev/null +++ b/bitnami/ruby/4.0/debian-12/docker-compose.yml @@ -0,0 +1,12 @@ +# Copyright Broadcom, Inc. All Rights Reserved. +# SPDX-License-Identifier: APACHE-2.0 + +services: + ruby: + tty: true # Enables debugging capabilities when attached to this container. + image: docker.io/bitnami/ruby:4.0 + # command: sh -c 'bundle install && bundle exec rails server -b 0.0.0.0 -p 3000' + ports: + - 3000:3000 + volumes: + - .:/app diff --git a/bitnami/ruby/4.0/debian-12/prebuildfs/opt/bitnami/licenses/licenses.txt b/bitnami/ruby/4.0/debian-12/prebuildfs/opt/bitnami/licenses/licenses.txt new file mode 100644 index 000000000000..76956b38e82c --- /dev/null +++ b/bitnami/ruby/4.0/debian-12/prebuildfs/opt/bitnami/licenses/licenses.txt @@ -0,0 +1,2 @@ +Bitnami containers ship with software bundles. You can find the licenses under: +/opt/bitnami/[name-of-bundle]/licenses/[bundle-version].txt diff --git a/bitnami/ruby/4.0/debian-12/prebuildfs/usr/sbin/install_packages b/bitnami/ruby/4.0/debian-12/prebuildfs/usr/sbin/install_packages new file mode 100755 index 000000000000..ccce248b2d14 --- /dev/null +++ b/bitnami/ruby/4.0/debian-12/prebuildfs/usr/sbin/install_packages @@ -0,0 +1,27 @@ +#!/bin/sh +# Copyright Broadcom, Inc. All Rights Reserved. +# SPDX-License-Identifier: APACHE-2.0 +set -eu + +n=0 +max=2 +export DEBIAN_FRONTEND=noninteractive + +until [ $n -gt $max ]; do + set +e + ( + apt-get update -qq && + apt-get install -y --no-install-recommends "$@" + ) + CODE=$? + set -e + if [ $CODE -eq 0 ]; then + break + fi + if [ $n -eq $max ]; then + exit $CODE + fi + echo "apt failed, retrying" + n=$(($n + 1)) +done +apt-get clean && rm -rf /var/lib/apt/lists /var/cache/apt/archives diff --git a/bitnami/ruby/4.0/debian-12/prebuildfs/usr/sbin/run-script b/bitnami/ruby/4.0/debian-12/prebuildfs/usr/sbin/run-script new file mode 100755 index 000000000000..0e07c9038dfd --- /dev/null +++ b/bitnami/ruby/4.0/debian-12/prebuildfs/usr/sbin/run-script @@ -0,0 +1,24 @@ +#!/bin/sh +# Copyright Broadcom, Inc. All Rights Reserved. +# SPDX-License-Identifier: APACHE-2.0 +set -u + +if [ $# -eq 0 ]; then + >&2 echo "No arguments provided" + exit 1 +fi + +script=$1 +exit_code="${2:-96}" +fail_if_not_present="${3:-n}" + +if test -f "$script"; then + sh $script + + if [ $? -ne 0 ]; then + exit $((exit_code)) + fi +elif [ "$fail_if_not_present" = "y" ]; then + >&2 echo "script not found: $script" + exit 127 +fi diff --git a/bitnami/ruby/4.0/debian-12/prebuildfs/usr/sbin/uninstall_packages b/bitnami/ruby/4.0/debian-12/prebuildfs/usr/sbin/uninstall_packages new file mode 100755 index 000000000000..615c430e4e68 --- /dev/null +++ b/bitnami/ruby/4.0/debian-12/prebuildfs/usr/sbin/uninstall_packages @@ -0,0 +1,26 @@ +#!/bin/sh +# Copyright Broadcom, Inc. All Rights Reserved. +# SPDX-License-Identifier: APACHE-2.0 +set -eu + +n=0 +max=2 +export DEBIAN_FRONTEND=noninteractive + +until [ $n -gt $max ]; do + set +e + ( + apt-get autoremove --purge -y "$@" + ) + CODE=$? + set -e + if [ $CODE -eq 0 ]; then + break + fi + if [ $n -eq $max ]; then + exit $CODE + fi + echo "apt failed, retrying" + n=$(($n + 1)) +done +apt-get clean && rm -rf /var/lib/apt/lists /var/cache/apt/archives diff --git a/bitnami/ruby/docker-compose.yml b/bitnami/ruby/docker-compose.yml index 711b8142410d..d6835e36da44 100644 --- a/bitnami/ruby/docker-compose.yml +++ b/bitnami/ruby/docker-compose.yml @@ -4,7 +4,7 @@ services: ruby: tty: true # Enables debugging capabilities when attached to this container. - image: docker.io/bitnami/ruby:3.4 + image: docker.io/bitnami/ruby:4.0 # command: sh -c 'bundle install && bundle exec rails server -b 0.0.0.0 -p 3000' ports: - 3000:3000