Spaces:
Paused
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"] |