Spaces:
Sleeping
Sleeping
| # 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"] | |