jxdn123 commited on
Commit
7ec05e9
·
verified ·
1 Parent(s): 820bf96

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +11 -12
Dockerfile CHANGED
@@ -45,26 +45,25 @@ RUN go build -trimpath -ldflags "-s -w -X gpt-load/internal/version.Version=${VE
45
  # ---------- 3) 运行阶段 ----------
46
  FROM alpine:3.20
47
 
48
- # 非 root 用户
49
- RUN addgroup -S app && adduser -S app -G app
50
-
51
  WORKDIR /app
52
- # 仅安装必须品;socat 用于把 $PORT 转发到 3001(若程序未适配 $PORT)
53
  RUN apk add --no-cache ca-certificates tzdata socat && update-ca-certificates
54
 
55
- # 拷入二进制
56
  COPY --from=go-builder /build/gpt-load /app/gpt-load
57
-
58
- # 为非 root 账户准备可写目录(SQLite 数据默认在 /app/data)
59
- RUN mkdir -p /app/data && chown -R app:app /app
60
-
61
- # 启动脚本
62
  COPY ./run.sh /app/run.sh
63
  RUN chmod +x /app/run.sh
64
 
65
- # HF 通常注入 PORT=7860;默认值兜底
 
 
 
 
 
 
 
 
 
66
  ENV PORT=7860
67
  EXPOSE 7860
68
 
69
- USER app
70
  ENTRYPOINT ["/app/run.sh"]
 
45
  # ---------- 3) 运行阶段 ----------
46
  FROM alpine:3.20
47
 
 
 
 
48
  WORKDIR /app
 
49
  RUN apk add --no-cache ca-certificates tzdata socat && update-ca-certificates
50
 
 
51
  COPY --from=go-builder /build/gpt-load /app/gpt-load
 
 
 
 
 
52
  COPY ./run.sh /app/run.sh
53
  RUN chmod +x /app/run.sh
54
 
55
+ # 关键:为“任意 UID + gid=0”准备写权限
56
+ RUN mkdir -p /app/data \
57
+ && chgrp -R 0 /app \
58
+ && chmod -R g+rwX /app
59
+
60
+ # 数据库默认放这里(你也可以改成 /data/gpt-load.db 走 HF 持久卷)
61
+ ENV DATABASE_DRIVER=sqlite
62
+ ENV DATABASE_DSN=/app/data/gpt-load.db
63
+
64
+ # HF 通常注入 PORT=7860
65
  ENV PORT=7860
66
  EXPOSE 7860
67
 
68
+ # 不再切换到固定用户,让 HF 以它的任意 UID 运行
69
  ENTRYPOINT ["/app/run.sh"]