FROM node:20-alpine AS build WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . RUN npm run build FROM node:20-alpine AS production WORKDIR /app ENV NODE_ENV=production COPY --from=build /app/dist ./dist # install minimal deps to run node if needed (alpine already has node) EXPOSE 3000 CMD ["node", "./dist/server/entry.mjs"] HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ CMD wget -qO- http://localhost:3000/ || exit 1