Spaces:
heroo
/
Paused

File size: 1,113 Bytes
f4f3461
 
44dbfc0
5f6cf3e
 
 
 
 
32c8593
 
 
 
 
 
 
 
 
f4f3461
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8b90bc8
 
 
 
 
 
f4f3461
8b90bc8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 第一阶段:构建 Go 二进制文件
FROM golang:1.23.2 AS builder

# 克隆项目
RUN git clone https://github.com/YuCN0010/DeepLX.git /go/src/github.com/YuCN0010/DeepLX

# 设置工作目录
WORKDIR /go/src/github.com/YuCN0010/DeepLX

# 初始化 Go 模块(如果还没有 go.mod 文件)
RUN go mod init github.com/YuCN0010/DeepLX || true

# 下载依赖
RUN go mod download

# 编译 Go 代码
RUN CGO_ENABLED=0 go build -o deeplx .

# 第二阶段:构建最终镜像
FROM alpine:latest

# 设置工作目录
WORKDIR /app

# 复制 Go 二进制文件
COPY --from=builder /go/src/github.com/YuCN0010/DeepLX/deeplx /app/deeplx

# 复制 cloudflared 二进制文件
COPY --from=cloudflare/cloudflared:latest /usr/local/bin/cloudflared /usr/local/bin/cloudflared

# 暴露端口
EXPOSE 11888

# 设置数据目录
WORKDIR /data
RUN chmod 777 -R /data

# 创建启动脚本
RUN echo '#!/bin/sh' > /start.sh && \
    echo 'nohup cloudflared tunnel --no-autoupdate run --token $CF_TOKEN &' >> /start.sh && \
    echo '/app/deeplx' >> /start.sh && \
    chmod +x /start.sh

# 启动服务
CMD ["/start.sh"]