Spaces:
Sleeping
Sleeping
| # 使用官方 Node.js 镜像(不用 alpine,因为 libsql 需要 glibc) | |
| FROM node:18-slim | |
| # 设置工作目录 | |
| WORKDIR /app | |
| # 复制 package.json 和 package-lock.json | |
| COPY package*.json ./ | |
| # 安装依赖(包括生产依赖) | |
| RUN npm ci --only=production | |
| # 复制项目文件 | |
| COPY . . | |
| # 创建必要的目录并设置权限 | |
| # /data 是 Huggingface Spaces 的持久化存储目录 | |
| RUN mkdir -p /data/database /app/public/qrcodes && \ | |
| chmod -R 777 /data /app/public/qrcodes | |
| # 暴露端口(Hugging Face Spaces 会自动映射) | |
| EXPOSE 7860 | |
| # 设置环境变量(Hugging Face Spaces 使用 7860 端口) | |
| ENV PORT=7860 | |
| ENV NODE_ENV=production | |
| ENV DB_PATH=/data/database/fitjourney.db | |
| # 启动应用 | |
| CMD ["node", "server.js"] | |