# Stage 1: Build the application FROM node:20-alpine AS builder WORKDIR /app # Copy package files COPY package.json ./ # Install dependencies with npm RUN npm install # Copy entire project COPY . . # Build the application for production RUN npm run build # Stage 2: Runtime FROM node:20-alpine WORKDIR /app # Copy built files from builder COPY --from=builder /app/dist ./dist COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/package.json ./package.json # Copy server script (ES module) COPY server.js . COPY --from=builder /app/server/aiCore.js ./server/aiCore.js # Expose port 7860 (HuggingFace standard) EXPOSE 7860 # Set environment variables for HuggingFace Spaces ENV NODE_ENV=production ENV PORT=7860 ENV HOST=0.0.0.0 # Start the server CMD ["node", "server.js"]