From 19dbc725de1a3fca0af27ca7c1326777854a609a Mon Sep 17 00:00:00 2001 From: Ryan Cavicchioni Date: Thu, 14 Aug 2025 22:28:47 -0500 Subject: [PATCH] feat: update to Debian Trixie --- docker-bake.hcl | 6 ++--- dockerfiles/trixie.Dockerfile | 50 +++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 dockerfiles/trixie.Dockerfile diff --git a/docker-bake.hcl b/docker-bake.hcl index e492b24..44d29b0 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -1,5 +1,5 @@ group "default" { - targets = [ "bookworm", "alpine" ] + targets = [ "trixie", "alpine" ] } target "docker-metadata-action" {} @@ -15,8 +15,8 @@ target "_common" { ] } -target "bookworm" { - dockerfile = "./dockerfiles/bookworm.Dockerfile" +target "trixie" { + dockerfile = "./dockerfiles/trixie.Dockerfile" inherits = [ "_common", "docker-metadata-action" ] } diff --git a/dockerfiles/trixie.Dockerfile b/dockerfiles/trixie.Dockerfile new file mode 100644 index 0000000..fe7eac5 --- /dev/null +++ b/dockerfiles/trixie.Dockerfile @@ -0,0 +1,50 @@ +ARG RUBY_VERSION="3.4.4" +ARG BASE_REGISTRY="docker.io" +ARG DEBIAN_VERSION="trixie" + +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 \ + apt-get update -qq && \ + apt-get install --yes --no-install-recommends libjemalloc2 && \ + rm -rf /var/lib/apt/lists /var/cache/apt/archives + +FROM base AS build + +RUN \ + apt-get update -qq && \ + apt-get install --yes --no-install-recommends build-essential && \ + rm -rf /var/lib/apt/lists /var/cache/apt/archives + +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 \ + groupadd --system --gid 666 kubernaut && \ + useradd --system --uid 666 --gid kubernaut --create-home --shell /bin/bash 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" ]