File size: 689 Bytes
34e0b30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 使用一个现代、轻量的 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"]