lvcq commited on
Commit
156a97a
·
1 Parent(s): cb45783

fix: Fix the endless looping problem

Browse files
Files changed (4) hide show
  1. .DS_Store +0 -0
  2. Dockerfile +7 -1
  3. README.md +6 -3
  4. tests/dockerfile-bundles-binary.sh +10 -0
.DS_Store ADDED
Binary file (6.15 kB). View file
 
Dockerfile CHANGED
@@ -1,5 +1,7 @@
1
  FROM alpine:3.21
2
 
 
 
3
  ENV TZ=Asia/Shanghai
4
  ENV APP_BINARY_PATH=/app/app
5
  ENV RUNTIME_DIR=/tmp/runtime
@@ -7,10 +9,14 @@ ENV SUPERVISOR_CONF=/etc/supervisord.conf
7
  ENV SUPERVISOR_CONF_TEMPLATE=/etc/supervisord.conf.template
8
  ENV STOP_WAIT_SECS=60
9
 
10
- RUN apk add --no-cache ca-certificates supervisor tzdata \
11
  && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
12
  && echo $TZ > /etc/timezone
13
 
 
 
 
 
14
  COPY entrypoint.sh /usr/local/bin/entrypoint.sh
15
  COPY supervisord.conf /etc/supervisord.conf.template
16
  RUN chmod +x /usr/local/bin/entrypoint.sh
 
1
  FROM alpine:3.21
2
 
3
+ ARG APP_VERSION=fork/v6.91.0
4
+
5
  ENV TZ=Asia/Shanghai
6
  ENV APP_BINARY_PATH=/app/app
7
  ENV RUNTIME_DIR=/tmp/runtime
 
9
  ENV SUPERVISOR_CONF_TEMPLATE=/etc/supervisord.conf.template
10
  ENV STOP_WAIT_SECS=60
11
 
12
+ RUN apk add --no-cache ca-certificates curl supervisor tzdata \
13
  && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
14
  && echo $TZ > /etc/timezone
15
 
16
+ RUN mkdir -p "$(dirname "$APP_BINARY_PATH")" \
17
+ && curl -fsSL "https://github.com/caidaoli/CLIProxyAPI/releases/download/${APP_VERSION}/cli-proxy-api-linux-amd64" -o "$APP_BINARY_PATH" \
18
+ && chmod +x "$APP_BINARY_PATH"
19
+
20
  COPY entrypoint.sh /usr/local/bin/entrypoint.sh
21
  COPY supervisord.conf /etc/supervisord.conf.template
22
  RUN chmod +x /usr/local/bin/entrypoint.sh
README.md CHANGED
@@ -10,9 +10,12 @@ app_port: 8317
10
 
11
  这个镜像不再包含任何自动更新逻辑。
12
 
13
- 运行前需要显式提供应用二进制,默认路径是 `APP_BINARY_PATH=/app/app`,也可以通过环境变量覆盖
14
 
15
- 最简单的用法是基于这个镜像继续构建,并把你的可执行文件复 `/app/app`。
16
 
17
  Hugging Face Spaces 配置参考:
18
- https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
10
 
11
  这个镜像不再包含任何自动更新逻辑。
12
 
13
+ 这是给 Hugging Face Docker Space 用的:应用二进制会在镜像构建阶段固定下载到 `/app/app`,运行时只启动,不会再检查或拉取新版本
14
 
15
+ 默认固定版本由 `APP_VERSION` 构建参数控,当前默认值是 `fork/v6.91.0`。如果需要升级版本,修改 `Dockerfile` 里的 `APP_VERSION` 或在构建时覆盖它,而不是在容器运行时自更新。
16
 
17
  Hugging Face Spaces 配置参考:
18
+ [Spaces Configuration Reference](https://huggingface.co/docs/hub/en/spaces-config-reference)
19
+
20
+ Docker Space 约束参考:
21
+ [Docker Spaces](https://huggingface.co/docs/hub/en/spaces-sdks-docker)
tests/dockerfile-bundles-binary.sh ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/sh
2
+ set -eu
3
+
4
+ DOCKERFILE="${1:-/Users/apache/codex/image/Dockerfile}"
5
+
6
+ grep -F 'ARG APP_VERSION=' "$DOCKERFILE" >/dev/null
7
+ grep -F 'ENV APP_BINARY_PATH=/app/app' "$DOCKERFILE" >/dev/null
8
+ grep -F 'mkdir -p "$(dirname "$APP_BINARY_PATH")"' "$DOCKERFILE" >/dev/null
9
+ grep -F 'curl -fsSL "https://github.com/caidaoli/CLIProxyAPI/releases/download/${APP_VERSION}/cli-proxy-api-linux-amd64" -o "$APP_BINARY_PATH"' "$DOCKERFILE" >/dev/null
10
+ grep -F 'chmod +x "$APP_BINARY_PATH"' "$DOCKERFILE" >/dev/null