ARG RUBY_VERSION="3.4.4" ARG BASE_REGISTRY="docker.io" FROM ${BASE_REGISTRY}/ruby:${RUBY_VERSION}-alpine 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 \ apk update -q && \ apk add bash jemalloc FROM base AS build RUN \ apk update -q && \ apk add musl-dev gcc make && \ apk add bash jemalloc COPY Gemfile Gemfile.lock ./ RUN \ bundle install && \ rm -rf ~/.bundle/ "${BUNDLE_PATH}"/ruby/*/cache "${BUNDLE_PATH}"/ruby/*/bundler/gems/*/.git COPY . . FROM base ENV PORT=4567 RUN \ addgroup --system --gid 666 kubernaut && \ adduser --system --uid 666 --ingroup kubernaut --shell /bin/bash --disabled-password kubernaut COPY --from=build "${BUNDLE_PATH}" "${BUNDLE_PATH}" COPY --from=build /kubernaut /kubernaut USER kubernaut:kubernaut EXPOSE $PORT ENTRYPOINT [ "/kubernaut/dockerfiles/entrypoint.sh" ] CMD [ "bundle", "exec", "puma" ]