# Multi-stage build for multi-architecture support (AMD64, ARM64) FROM --platform=$BUILDPLATFORM node:20-alpine AS builder WORKDIR /app # Copy package files COPY package*.json ./ # Install dependencies RUN npm ci --production # Copy source code COPY . . # --- Production stage --- FROM --platform=$TARGETPLATFORM node:20-alpine # Install curl for health checks and other utilities RUN apk add --no-cache curl wget WORKDIR /app # Copy dependencies from builder COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app . # Create uploads directory RUN mkdir -p uploads # Expose port EXPOSE 5000 # Health check HEALTHCHECK --interval=30s --timeout=3s --start-period=40s \ CMD curl -f http://localhost:5000/api/health || exit 1 # Start server CMD ["node", "server.js"]