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", "."]