From fc21379beccdc698061aab747902d0c94351dc4e Mon Sep 17 00:00:00 2001 From: acalcutt Date: Sun, 16 Mar 2025 18:25:31 -0400 Subject: [PATCH] Revert "try old version with build-essential added" This reverts commit 0fd0968b02d62f873c2c6394d7c44731b8f6414a. --- Dockerfile_light | 56 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 43 insertions(+), 13 deletions(-) diff --git a/Dockerfile_light b/Dockerfile_light index 3468a32..b6b3d63 100644 --- a/Dockerfile_light +++ b/Dockerfile_light @@ -1,4 +1,42 @@ -FROM ubuntu:jammy +FROM ubuntu:jammy AS builder + +ENV NODE_ENV="production" + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && \ + apt-get install -y --no-install-recommends --no-install-suggests \ + build-essential \ + ca-certificates \ + curl \ + gnupg && \ + mkdir -p /etc/apt/keyrings && \ + curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \ + apt-get -qq update && \ + apt-get install -y --no-install-recommends --no-install-suggests nodejs && \ + npm i -g npm@latest && \ + apt-get -y remove curl gnupg && \ + apt-get -y --purge autoremove && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +RUN mkdir -p /usr/src/app + +WORKDIR /usr/src/app + +COPY package.json /usr/src/app +COPY package-lock.json /usr/src/app + +RUN npm config set maxsockets 1 && \ + npm config set fetch-retries 5 && \ + npm config set fetch-retry-mintimeout 100000 && \ + npm config set fetch-retry-maxtimeout 600000 && \ + npm ci --omit=dev && \ + chown -R root:root /usr/src/app + +FROM ubuntu:jammy AS final ENV \ NODE_ENV="production" \ @@ -13,7 +51,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get -qq update && \ apt-get install -y --no-install-recommends --no-install-suggests \ ca-certificates \ - build-essential \ curl \ gnupg && \ mkdir -p /etc/apt/keyrings && \ @@ -22,21 +59,14 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ apt-get -qq update && \ apt-get install -y --no-install-recommends --no-install-suggests nodejs && \ npm i -g npm@latest && \ - apt-get -y remove build-essential curl gnupg && \ + apt-get -y remove curl gnupg && \ apt-get -y --purge autoremove && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* -WORKDIR /usr/src/app -COPY . . +COPY --from=builder /usr/src/app /usr/src/app -RUN npm config set maxsockets 1 && \ - npm config set fetch-retries 5 && \ - npm config set fetch-retry-mintimeout 100000 && \ - npm config set fetch-retry-maxtimeout 600000 && \ - npm install --omit=dev && \ - chown -R root:root . && \ - chmod +x ./docker-entrypoint.sh +COPY . /usr/src/app RUN mkdir -p /data && chown node:node /data VOLUME /data @@ -48,4 +78,4 @@ USER node:node ENTRYPOINT ["/usr/src/app/docker-entrypoint.sh"] -HEALTHCHECK CMD node /usr/src/app/src/healthcheck.js \ No newline at end of file +HEALTHCHECK CMD node /usr/src/app/src/healthcheck.js