huang123chuan commited on
Commit
2b7d683
·
verified ·
1 Parent(s): 838d0d3

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +19 -16
Dockerfile CHANGED
@@ -1,30 +1,33 @@
1
- # 1. 继承你的镜像
 
 
 
2
  FROM ghcr.io/liuw1535/antigravity2api-nodejs:latest
3
 
4
- # 2. 切换 root 设置权限
5
 
6
 
7
 
8
  USER root
9
 
10
- # 3. 设置端口
11
- ENV PORT=7860
 
12
 
 
 
13
 
14
- # 4. 关键:创建 data 目录并将权限交给普通用户 (UID 1000)
15
- # 这一步必须做,否则后面的 echo 命令写不进去
16
- RUN mkdir -p /app/data && \
17
- chown -R 1000:1000 /app
18
 
19
- # 5. 切换回普通用户
 
20
  USER 1000
 
21
 
22
- # 6. 暴露端口
23
  EXPOSE 7860
24
 
25
- # 7. 【核心修改】启动命令
26
- # 解释:
27
- # (1) mkdir -p ... : 确保目录存在
28
- # (2) echo "..." > ... : 直接把 HuggingFace 的 Secret (ACCOUNTS_JSON) 写入到 accounts.json 文件
29
- # (3) node src/server/index.js : 启动主程序 (这是原项目原本就有的入口)
30
- CMD ["sh", "-c", "mkdir -p /app/data && echo \"$ACCOUNTS_JSON\" > /app/data/accounts.json && echo '{\"server\":{\"port\":7860,\"host\":\"0.0.0.0\"}}' > /app/config.json && node src/server/index.js"]
 
1
+ # 1. 临时工:从新版本镜像里把最新的代码偷出来
2
+ FROM ghcr.io/liuw1535/antigravity2api-nodejs:main AS source
3
+
4
+ # 2. 真正运行的环境:使用你确认能跑通的旧版 latest(它是 x86 兼容的)
5
  FROM ghcr.io/liuw1535/antigravity2api-nodejs:latest
6
 
7
+ # 3. 切换到 root 准备更新文件
8
 
9
 
10
 
11
  USER root
12
 
13
+ # 4. 把新镜像里的最新代码覆盖到当前运行环境
14
+ # 假设原项目代码在 /app
15
+ COPY --from=source /app /app
16
 
17
+ # 5. 修正权限(HF 需要 UID 1000)
18
+ RUN chown -R 1000:1000 /app
19
 
 
 
 
 
20
 
21
+
22
+ # 6. 设置端口和 Secret 写入逻辑
23
  USER 1000
24
+ ENV PORT=7860
25
 
 
26
  EXPOSE 7860
27
 
28
+ CMD ["sh", "-c", "\
29
+ mkdir -p /app/data && \
30
+ echo \"$ACCOUNTS_JSON\" > /app/data/accounts.json && \
31
+ echo '{\"server\":{\"port\":7860,\"host\":\"0.0.0.0\"}}' > /app/config.json && \
32
+ node src/config/init-env.js && \
33
+ npm start"]