lucklca commited on
Commit
5a3a7fb
·
verified ·
1 Parent(s): 98c45c6

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +13 -7
Dockerfile CHANGED
@@ -1,18 +1,24 @@
1
- # 1. 直接使用作者预编译好的官方镜像,跳过所有 npm 和 go 编译过程!
2
  FROM ghcr.io/cjackhwang/ds2api:latest
3
 
4
- # 2. 临时切换到 root 来修改权限
5
  USER root
6
 
7
- # 3. 适配 Hugging Face 端口限制
8
  ENV DS2API_HOST_PORT=7860
9
  EXPOSE 7860
10
 
11
- # 4. 适配 Hugging Face 权限要求 (以 UID 1000 运行)
12
- # 确保程序运行时有权限写入日志或读取配置
 
 
 
 
 
13
  RUN mkdir -p /app && chown -R 1000:1000 /app
14
 
15
- # 5. 切换非 root 用户
16
  USER 1000
17
 
18
- # 启动命令会自动继承官方镜像的配置,无需重写 CMD
 
 
1
+ # 1. 使用官方镜像
2
  FROM ghcr.io/cjackhwang/ds2api:latest
3
 
4
+ # 2. 临时切换到 root
5
  USER root
6
 
7
+ # 3. HF 端口适配
8
  ENV DS2API_HOST_PORT=7860
9
  EXPOSE 7860
10
 
11
+ # ---------------------------------------------------------
12
+ # 新增:把本地的 config.example.json 复制进去,改名为 config.json
13
+ # 这样程序就不会因为找不到文件而崩溃了
14
+ # ---------------------------------------------------------
15
+ COPY config.example.json /app/config.json
16
+
17
+ # 4. 赋予权限
18
  RUN mkdir -p /app && chown -R 1000:1000 /app
19
 
20
+ # 5. 切换非 root 用户
21
  USER 1000
22
 
23
+ # 6. 启动命令:如果 HF 后台设置了 DS2API_CONFIG_JSON 环境变量,就覆盖配置,否则直接启动
24
+ CMD sh -c 'if [ -n "$DS2API_CONFIG_JSON" ]; then echo "$DS2API_CONFIG_JSON" > /app/config.json; fi && /usr/local/bin/ds2api'