superxu520 commited on
Commit
e54fadf
·
verified ·
1 Parent(s): a6a5a5b

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +13 -12
Dockerfile CHANGED
@@ -1,39 +1,40 @@
1
  # --- 第一阶段:编译阶段 ---
2
  FROM golang: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
  ENV GOTOOLCHAIN=auto
14
  RUN go mod download
15
 
16
- # --- 关键修改:指向正确源码路径 ---
17
- # 该项目的 main 文件夹位于 cmd/proxy 目录下
18
- RUN CGO_ENABLED=0 GOOS=linux go build -o server ./cmd/proxy
19
 
20
  # --- 第二阶段:运行阶段 ---
21
  FROM alpine:latest
22
 
23
- # 安装基础运行环境
24
  RUN apk --no-cache add ca-certificates tzdata
25
 
26
  WORKDIR /app
27
 
28
- # 复制编译产物
29
  COPY --from=builder /app/server .
30
- # 复制管理后台静态文件
 
 
31
  COPY --from=builder /app/static ./static
32
 
33
- # 适配 Hugging Face 端口
34
  ENV PORT=7860
35
  EXPOSE 7860
36
 
37
- # 启动程序
38
- # 显式指定配置和端口
39
  CMD ["./server", "-port", "7860", "-config", "config.yaml"]
 
1
  # --- 第一阶段:编译阶段 ---
2
  FROM golang:alpine AS builder
3
 
4
+ # 安装 Git 以便克隆
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
+ # 设置 Go 环境以适配项目要求的 1.26.0+
13
  ENV GOTOOLCHAIN=auto
14
  RUN go mod download
15
 
16
+ # --- 关键:官方编译命令 ---
17
+ # 源码入口实际位于 ./cmd/server
18
+ RUN CGO_ENABLED=0 GOOS=linux go build -o server ./cmd/server
19
 
20
  # --- 第二阶段:运行阶段 ---
21
  FROM alpine:latest
22
 
23
+ # 安装 CA 证书,确保能正常连接 Google/Claude API
24
  RUN apk --no-cache add ca-certificates tzdata
25
 
26
  WORKDIR /app
27
 
28
+ # 从 builder 复制二进制文件
29
  COPY --from=builder /app/server .
30
+
31
+ # 复制 Web 管理界面所需的静态文件
32
+ # 官方源码中静态文件位于根目录的 static/ 文件夹
33
  COPY --from=builder /app/static ./static
34
 
35
+ # --- 适配 Hugging Face 环境 ---
36
  ENV PORT=7860
37
  EXPOSE 7860
38
 
39
+ # 启动命令:指定端口和配置文件
 
40
  CMD ["./server", "-port", "7860", "-config", "config.yaml"]