# Build stage FROM node:20-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm install COPY . . RUN npm run build # Production stage FROM node:20-alpine WORKDIR /app COPY package*.json ./ RUN npm install --omit=dev && npm cache clean --force COPY --from=builder /app/dist ./dist # HF Spaces yêu cầu port 7860 ENV PORT=7860 EXPOSE 7860 HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \ CMD node -e "require('http').get('http://localhost:7860/api/health', (r) => r.statusCode === 200 ? process.exit(0) : process.exit(1))" CMD ["node", "dist/main"]