# 使用官方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"]