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