ARG RUBY_VERSION="3.4.3" ARG BASE_REGISTRY="docker.io" ARG DEBIAN_VERSION="bookworm" FROM ${BASE_REGISTRY}/ruby:${RUBY_VERSION}-slim-${DEBIAN_VERSION} AS base ENV RACK_ENV="production" \ BUNDLE_DEPLOYMENT=true \ BUNDLE_PATH="/usr/local/bundle" \ BUNDLE_WITHOUT="development test" \ RUBY_YJIT_ENABLE=true WORKDIR /kubernaut RUN rm -f /etc/apt/apt.conf.d/docker-clean RUN \ --mount=type=cache,id=var-cache-apt,target=/var/cache/apt,sharing=locked \ --mount=type=cache,id=var-lib-apt,target=/var/lib/apt,sharing=locked \ apt-get update -qq; \ apt-get install --yes --no-install-recommends \ libjemalloc2 RUN \ --mount=type=cache,id=usr-local-bundle-cache,target=${BUNDLE_PATH},sharing=locked \ gem update --system --no-document; \ gem install -N bundler ENV DEBIAN_FRONTEND="noninteractive" FROM base AS build RUN \ --mount=type=cache,id=var-cache-apt,target=/var/cache/apt,sharing=locked \ --mount=type=cache,id=var-lib-apt,target=/var/lib/apt,sharing=locked \ apt-get update -qq; \ apt-get install --yes --no-install-recommends \ build-essential COPY Gemfile Gemfile.lock ./ RUN <