# Build stage FROM node:22-alpine AS builder WORKDIR /app # Copy package files COPY package*.json ./ # Install all dependencies (including dev) RUN npm ci # Copy source files COPY . . # Build the application RUN npm run build # Prune dev dependencies RUN npm prune --production # Production stage FROM node:22-alpine WORKDIR /app # Copy built application COPY --from=builder /app/build build/ COPY --from=builder /app/node_modules node_modules/ COPY package.json . # Expose port EXPOSE 3000 # Set environment ENV NODE_ENV=production ENV PORT=3000 ENV HOST=0.0.0.0 # Health check HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:3000/health || exit 1 # Run the application CMD ["node", "build"]