superxu520 commited on
Commit
fb04e09
·
verified ·
1 Parent(s): 6747cff

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +38 -0
Dockerfile ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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"]