superxu520 commited on
Commit
9aeecf7
·
verified ·
1 Parent(s): 93e28f4

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +14 -15
Dockerfile CHANGED
@@ -1,38 +1,37 @@
1
- # 第一阶段:编译阶段 (使用 Go 1.23 环境)
2
  FROM golang:1.23-alpine AS builder
3
 
4
- # 安装 Git 以便拉取源码
5
  RUN apk add --no-cache git
6
 
7
  WORKDIR /app
8
 
9
- # 从 GitHub 克隆你的 CLIProxyAPI 项目
10
  RUN git clone https://github.com/router-for-me/CLIProxyAPI.git .
11
 
12
- # 编译程序 (生成名为 server 的二进制文件)
13
  RUN go mod download
14
  RUN CGO_ENABLED=0 GOOS=linux go build -o server .
15
 
16
- # 第二阶段:运行阶段 (最小化镜像)
17
  FROM alpine:latest
18
 
19
- # 安装 CA 证书,确保程序能通过 HTTPS 访问 Gemini/Claude
20
  RUN apk --no-cache add ca-certificates tzdata
21
 
22
  WORKDIR /app
23
 
24
- # 从编译阶段复制二进制文件和静态资源
25
- # 注意:该项目通常包含 web 管理界面的静态文件,必须一并复制
26
  COPY --from=builder /app/server .
 
 
27
  COPY --from=builder /app/static ./static
28
- # 如果有默认配置文件也一并复制
29
- COPY --from=builder /app/config.example.yaml ./config.yaml
30
 
31
- # --- 适配 Hugging Face 环境 ---
32
- # 强制使用 7860 端口
33
  ENV PORT=7860
34
  EXPOSE 7860
35
 
36
- # 启动
37
- # 使用 -port 7860 确保程序监听 HF 指定的端口
38
- CMD ["./server", "-port", "7860"]
 
 
1
+ # --- 第一阶段:编译阶段 ---
2
  FROM golang:1.23-alpine AS builder
3
 
4
+ # 安装必要工具
5
  RUN apk add --no-cache git
6
 
7
  WORKDIR /app
8
 
9
+ # 从 GitHub 克隆源码
10
  RUN git clone https://github.com/router-for-me/CLIProxyAPI.git .
11
 
12
+ # 下载依赖并编译
13
  RUN go mod download
14
  RUN CGO_ENABLED=0 GOOS=linux go build -o server .
15
 
16
+ # --- 第二阶段:运行阶段 ---
17
  FROM alpine:latest
18
 
19
+ # 安装基础运行环境(证书和时区)
20
  RUN apk --no-cache add ca-certificates tzdata
21
 
22
  WORKDIR /app
23
 
24
+ # 1. 从编译阶段复制二进制文件
 
25
  COPY --from=builder /app/server .
26
+
27
+ # 2. 复制管理后台所需的静态资源(重要:否则访问 /management 会 404)
28
  COPY --from=builder /app/static ./static
 
 
29
 
30
+ # 3. 设置环境变量适配 Hugging Face
 
31
  ENV PORT=7860
32
  EXPOSE 7860
33
 
34
+ # --- 启动说明 ---
35
+ # -port 7860: 强制监听 HF 唯一开放的端口
36
+ # -config config.yaml: 显式读取你在 Files 页面创建的配置文件
37
+ CMD ["./server", "-port", "7860", "-config", "config.yaml"]