Spaces:
Running
Running
| # 使用一个现代、轻量的 Node.js 镜像 | |
| FROM node:22-alpine3.19 | |
| # 设置工作目录 | |
| WORKDIR /opt/app | |
| # 为非 root 用户设置权限,这是个好习惯 | |
| # 注意:HF Spaces 运行时可能会使用自己的 uid/gid,但 chown 在构建时仍然是好的实践 | |
| RUN chown -R 1000:1000 /opt/app | |
| # 切换到非 root 用户 | |
| USER 1000:1000 | |
| # 复制依赖定义文件 | |
| COPY --chown=1000:1000 package.json package-lock.json ./ | |
| # 安装生产环境依赖 | |
| # 使用 --omit=dev 替代 --production,这是 npm v7+ 的推荐做法 | |
| RUN npm ci --omit=dev | |
| # 复制所有应用代码 | |
| COPY --chown=1000:1000 . . | |
| ENV PORT=7860 | |
| EXPOSE 7860 | |
| # 启动应用 | |
| CMD ["node", "server/server.js"] | |