diff --git a/Dockerfile b/Dockerfile index 7d338b1..c5b0a38 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,40 +1,50 @@ # syntax=docker/dockerfile:1 -# ============================================================ -# Stage 1: compile OpenSSL 1.1.1, jemalloc, Ruby -# ============================================================ -FROM debian:bookworm-slim AS builder +FROM debian:stable-20260610-slim@sha256:34363c20bd149e41365fc77b086da067ed13ab2dff4cd0612788e12e6d52c44c ARG OPENSSL_VERSION=1.1.1w ARG JEMALLOC_VERSION=5.3.1 ARG RUBY_VERSION=2.6.10 +LABEL \ + org.opencontainers.image.title="ruby2.6-jemalloc" \ + org.opencontainers.image.description="Ruby ${RUBY_VERSION} image with jemalloc ${JEMALLOC_VERSION}" \ + org.opencontainers.image.source="https://github.com/UMNLibraries/ruby2.6-jemalloc-docker" + ENV DEBIAN_FRONTEND=noninteractive -RUN <<'EOF' +RUN <<__install__ set -eux # Step: install builder dependencies apt-get update +apt-get -y upgrade apt-get install -y --no-install-recommends \ autoconf \ bison \ build-essential \ bzip2 \ ca-certificates \ + libdb-dev \ libffi-dev \ + libffi8 \ libgdbm-dev \ + libgdbm6 \ libncurses5-dev \ + libncurses6 \ libreadline-dev \ + libreadline8 \ + libyaml-0-2 \ libyaml-dev \ pkg-config \ wget \ + zlib1g \ zlib1g-dev rm -rf /var/lib/apt/lists/* -EOF +__install__ # Build OpenSSL 1.1.1 (required by Ruby 2.6; Debian ships OpenSSL 3 which is incompatible) WORKDIR /tmp/build -RUN <