Spaces:
Sleeping
Sleeping
Create Dockerfile
Browse files- Dockerfile +25 -0
Dockerfile
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 1. 继承你刚刚在 GitHub 构建好的镜像 (注意:这里直接用了你的镜像地址)
|
| 2 |
+
FROM ghcr.io/catfish872/catfishantigravity2api:latest
|
| 3 |
+
|
| 4 |
+
# 2. 切换到 root 用户来调整权限 (HF 安全要求)
|
| 5 |
+
USER root
|
| 6 |
+
|
| 7 |
+
# 3. 设置 Hugging Face 强制要求的端口 7860 (覆盖掉原镜像的 8045)
|
| 8 |
+
ENV PORT=7860
|
| 9 |
+
|
| 10 |
+
# 4. 修复权限问题 (非常重要!)
|
| 11 |
+
# Hugging Face 强制使用 UID 1000 运行,必须把数据目录的所有权给它
|
| 12 |
+
# 否则你的 init-accounts.js 无法写入 accounts.json,导致 Token 无法恢复
|
| 13 |
+
RUN mkdir -p /app/data && \
|
| 14 |
+
chown -R 1000:1000 /app
|
| 15 |
+
|
| 16 |
+
# 5. 切换回非 root 用户 (UID 1000)
|
| 17 |
+
USER 1000
|
| 18 |
+
|
| 19 |
+
# 6. 暴露正确的端口
|
| 20 |
+
EXPOSE 7860
|
| 21 |
+
|
| 22 |
+
# 7. 启动命令
|
| 23 |
+
# 直接使用镜像里定义好的 npm start 即可 (前提是你修改过 package.json 加入了 init-accounts)
|
| 24 |
+
# 或者显式写出完整的启动链:
|
| 25 |
+
CMD ["sh", "-c", "node src/scripts/init-accounts.js && node src/server/index.js"]
|