Spaces:
Runtime error
Runtime error
| # 使用官方Node.js 18 LTS镜像 | |
| FROM node:18-slim | |
| # 设置工作目录 | |
| WORKDIR /app | |
| # 安装系统依赖 | |
| RUN apt-get update && apt-get install -y \ | |
| python3 \ | |
| make \ | |
| g++ \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # 复制package.json和package-lock.json | |
| COPY package*.json ./ | |
| # 安装npm依赖 | |
| RUN npm install --omit=dev && npm cache clean --force | |
| # 复制应用代码 | |
| COPY . . | |
| # 创建必要的目录 | |
| RUN mkdir -p uploads logs images | |
| # 设置权限并切换用户 | |
| RUN chown -R 1000:1000 /app | |
| USER 1000 | |
| # 暴露Hugging Face Spaces标准端口 | |
| EXPOSE 7860 | |
| # 设置环境变量 | |
| ENV NODE_ENV=production | |
| ENV PORT=7860 | |
| # 健康检查 | |
| HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ | |
| CMD node -e "require('http').get('http://localhost:7860/api/health', (res) => { process.exit(res.statusCode === 200 ? 0 : 1) }).on('error', () => process.exit(1))" | |
| # 启动应用 | |
| CMD ["node", "server-mysql.js"] | |