diff --git a/Dockerfile b/Dockerfile index 0a44bcb86c8376535cb673f9a1ec8ec7323007eb..99766eff158a872fea80dc28de80be2cc33c2fb3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,11 +2,12 @@ ARG NODE_VERSION=20.10.0 ARG NPM_VERSION=10.2.5 -# --------------> The build image -FROM node:$NODE_VERSION AS build +# --------------> The builder image +FROM node:$NODE_VERSION AS builder +ENV NODE_ENV production +WORKDIR /usr/src/app RUN apt-get update && apt-get install -y --no-install-recommends dumb-init ARG NPM_TOKEN -WORKDIR /usr/src/app COPY package*.json /usr/src/app/ RUN echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc && \ npm install -g npm@$NPM_VERSION && \ @@ -14,11 +15,11 @@ RUN echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc && \ rm -f .npmrc # --------------> The production image -FROM node:$NODE_VERSION-slim +FROM node:$NODE_VERSION-slim AS production ENV NODE_ENV production -COPY --from=build /usr/bin/dumb-init /usr/bin/dumb-init -USER node WORKDIR /usr/src/app -COPY --chown=node:node --from=build /usr/src/app/node_modules /usr/src/app/node_modules +COPY --from=builder /usr/bin/dumb-init /usr/bin/dumb-init +COPY --chown=node:node --from=builder /usr/src/app/node_modules /usr/src/app/node_modules COPY --chown=node:node . /usr/src/app +USER node CMD ["dumb-init", "node", "index.js"]