Update Dockerfile
Browse files- 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 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
ENV PORT=7860
|
| 67 |
EXPOSE 7860
|
| 68 |
|
| 69 |
-
|
| 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"]
|