| FROM node:18-alpine | |
| WORKDIR /app | |
| # 复制 package.json 和 package-lock.json | |
| COPY package*.json ./ | |
| # 安装依赖 | |
| RUN npm ci --only=production | |
| # 复制源代码 | |
| COPY . . | |
| # 复制 .env.example 为默认 .env | |
| RUN cp .env.example .env | |
| # 创建数据和图片目录(使用 HF 持久化存储) | |
| RUN mkdir -p /data public/images && ln -sf /data data | |
| # 暴露端口(HF Spaces 要求使用 7860) | |
| EXPOSE 7860 | |
| # 启动应用 | |
| CMD ["sh", "-c", "node src/config/init-env.js && npm start"] |