Update Dockerfile
Browse files- Dockerfile +23 -15
Dockerfile
CHANGED
|
@@ -45,18 +45,26 @@ RUN go build -trimpath -ldflags "-s -w -X gpt-load/internal/version.Version=${VE
|
|
| 45 |
# ---------- 3) 运行阶段 ----------
|
| 46 |
FROM alpine:3.20
|
| 47 |
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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"]
|