FROM node:22-alpine AS build WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci --legacy-peer-deps --include=dev COPY . . RUN npm run build FROM node:22-alpine WORKDIR /app ENV NODE_ENV=production COPY package.json package-lock.json ./ RUN npm ci --legacy-peer-deps --omit=dev COPY --from=build /app/dist ./dist RUN chown -R node:node /app USER node EXPOSE 3001 HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \ CMD wget -qO- http://localhost:3001/health || exit 1 CMD ["node", "dist/main"]