diff --git a/k8s/Dockerfile b/k8s/Dockerfile index 1d005f47..a6ee36e3 100644 --- a/k8s/Dockerfile +++ b/k8s/Dockerfile @@ -22,11 +22,13 @@ ARG RUNNER_IMAGE="docker.io/debian:${DEBIAN_VERSION}" FROM ${BUILDER_IMAGE} AS builder ENV MIX_OS_DEPS_COMPILE_PARTITION_COUNT=6 +# Disable TTY for cross-architecture builds +ENV TERM=dumb # install build dependencies RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get upgrade -y \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends build-essential git \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends build-essential git libsnmp-dev \ && rm -rf /var/lib/apt/lists/* # prepare build dir @@ -61,6 +63,11 @@ RUN --mount=type=cache,target=/root/.mix \ COPY priv priv +COPY c_src c_src + +# Compile the C NIF before Elixir compilation +RUN cd c_src && make + COPY lib lib # Compile the release @@ -83,7 +90,7 @@ FROM ${RUNNER_IMAGE} AS final RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get upgrade -y \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libstdc++6 openssl libncurses6 locales ca-certificates iputils-ping snmp \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libstdc++6 openssl libncurses6 locales ca-certificates iputils-ping snmp libsnmp40 \ && rm -rf /var/lib/apt/lists/* # Set the locale