22 lines
588 B
Docker
22 lines
588 B
Docker
ARG NODE_VERSION=24.6.0
|
|
|
|
FROM node:${NODE_VERSION}-alpine AS builder
|
|
WORKDIR /app
|
|
COPY package*.json ./
|
|
RUN --mount=type=bind,source=package.json,target=package.json \
|
|
--mount=type=bind,source=package-lock.json,target=package-lock.json \
|
|
--mount=type=cache,target=/root/.npm \
|
|
npm ci
|
|
COPY . .
|
|
RUN npm prune --production
|
|
|
|
FROM node:${NODE_VERSION}-alpine
|
|
WORKDIR /app
|
|
COPY --from=builder /app/node_modules node_modules/
|
|
COPY --from=builder /app/index.js .
|
|
COPY --from=builder /app/src src/
|
|
USER node
|
|
EXPOSE 12345
|
|
ENV NODE_ENV=production
|
|
CMD [ "node", "."]
|