huang123chuan commited on
Commit
ae26696
·
verified ·
1 Parent(s): aed288c

Update Dockerfile

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