Skip to content
Dockerfile 734 B
Newer Older
# --------------> The builder image
FROM node:20.13.1 AS builder
ENV NODE_ENV=production
WORKDIR /usr/src/app
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
RUN apt-get update && apt-get install -y --no-install-recommends dumb-init
ARG NPM_TOKEN
COPY package*.json /usr/src/app/
RUN echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc && \
   npm install -g npm@$10.8.0 && \
   npm ci --omit=dev && \
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
   rm -f .npmrc
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
# --------------> The production image
FROM node:20.13.1-slim AS production
ENV NODE_ENV=production
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
WORKDIR /usr/src/app
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
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
COPY --chown=node:node . /usr/src/app
USER node
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
CMD ["dumb-init", "node", "index.js"]