Files
kubernaut/dockerfiles/alpine.Dockerfile
Ryan Cavicchioni 93ee859227
All checks were successful
Ruby Lint / lint (push) Successful in 21s
Release / docker (push) Successful in 30m37s
Ruby Test / test (push) Successful in 20s
simplify the Dockerfiles
- remove the caching, it's more trouble than it's worth
- use '&&' instead of ';', so it fails earlier
2025-06-28 19:12:09 -05:00

49 lines
1003 B
Docker

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" ]