Spaces:
Sleeping
Sleeping
Update Dockerfile
Browse files- Dockerfile +19 -16
Dockerfile
CHANGED
|
@@ -1,30 +1,33 @@
|
|
| 1 |
-
# 1.
|
|
|
|
|
|
|
|
|
|
| 2 |
FROM ghcr.io/liuw1535/antigravity2api-nodejs:latest
|
| 3 |
|
| 4 |
-
#
|
| 5 |
|
| 6 |
|
| 7 |
|
| 8 |
USER root
|
| 9 |
|
| 10 |
-
#
|
| 11 |
-
|
|
|
|
| 12 |
|
|
|
|
|
|
|
| 13 |
|
| 14 |
-
# 4. 关键:创建 data 目录并将权限交给普通用户 (UID 1000)
|
| 15 |
-
# 这一步必须做,否则后面的 echo 命令写不进去
|
| 16 |
-
RUN mkdir -p /app/data && \
|
| 17 |
-
chown -R 1000:1000 /app
|
| 18 |
|
| 19 |
-
|
|
|
|
| 20 |
USER 1000
|
|
|
|
| 21 |
|
| 22 |
-
# 6. 暴露端口
|
| 23 |
EXPOSE 7860
|
| 24 |
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
|
|
|
| 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"]
|