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

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +10 -11
Dockerfile CHANGED
@@ -1,7 +1,6 @@
1
  # --- 第一阶段:编译阶段 ---
2
  FROM golang:alpine AS builder
3
 
4
- # 安装 Git 以便克隆
5
  RUN apk add --no-cache git
6
 
7
  WORKDIR /app
@@ -9,32 +8,32 @@ WORKDIR /app
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"]
 
1
  # --- 第一阶段:编译阶段 ---
2
  FROM golang:alpine AS builder
3
 
 
4
  RUN apk add --no-cache git
5
 
6
  WORKDIR /app
 
8
  # 从 GitHub 克隆最新源码
9
  RUN git clone https://github.com/router-for-me/CLIProxyAPI.git .
10
 
11
+ # 设置 Go 环境
12
  ENV GOTOOLCHAIN=auto
13
  RUN go mod download
14
 
15
+ # 编译服务器程序
 
16
  RUN CGO_ENABLED=0 GOOS=linux go build -o server ./cmd/server
17
 
18
  # --- 第二阶段:运行阶段 ---
19
  FROM alpine:latest
20
 
21
+ # 安装基础运行环境
22
  RUN apk --no-cache add ca-certificates tzdata
23
 
24
  WORKDIR /app
25
 
26
+ # 复制编译产物
27
  COPY --from=builder /app/server .
28
 
29
+ # 关键:尝试复制 static 文件夹,即使它不存在也不要报错导致 Build Failed
30
+ # 使用通配符技巧来处理可能缺失的目录
31
+ COPY --from=builder /app/static* ./static/
32
 
33
+ # 适配 Hugging Face 端口
34
  ENV PORT=7860
35
  EXPOSE 7860
36
 
37
+ # 启动程序
38
+ # 注意:该项目最新版可能内置了静态资源,如果 ./static 不存在也没关系
39
  CMD ["./server", "-port", "7860", "-config", "config.yaml"]