# Build stage FROM node:22-alpine AS builder # Set working directory WORKDIR /app # Copy package files COPY package*.json ./ # Install all dependencies (including devDependencies for building) RUN npm ci # Copy source code COPY . . # Build the application RUN npm run build # Production stage FROM node:22-alpine AS production # Set NODE_ENV to production ENV NODE_ENV=production # Set working directory WORKDIR /app # Copy package files COPY package*.json ./ # Install only production dependencies RUN npm ci --omit=dev && npm cache clean --force # Copy built application from builder stage COPY --from=builder /app/dist ./dist # Copy server file COPY server.js ./ # Expose port 7860 (required by Hugging Face Spaces) EXPOSE 7860 # Start the application CMD ["npm", "start"]