FROM golang:1.21-alpine3.18 as builder # 安装git和必要工具 RUN apk update && apk add --no-cache git && apk upgrade --available && sync # 克隆代码库 WORKDIR /app RUN git clone https://github.com/EverythingSuckz/TG-FileStreamBot . # 编译应用 RUN CGO_ENABLED=0 go build -o /app/fsb -ldflags="-w -s" ./cmd/fsb # 创建最终镜像 FROM alpine:3.18 # 安装必要的SSL证书供HTTPS请求使用以及Python/Flask RUN apk add --no-cache ca-certificates python3 py3-pip # 安装Flask RUN pip3 install flask # 复制编译好的二进制文件 COPY --from=builder /app/fsb /app/fsb # 设置工作目录 WORKDIR /app # 复制Flask应用 COPY app.py /app/app.py # 增加启动脚本 RUN echo '#!/bin/sh' > /app/start.sh && \ echo 'nohup /app/fsb run > /app/fsb.log 2>&1 &' >> /app/start.sh && \ echo 'python3 /app/app.py' >> /app/start.sh && \ chmod +x /app/start.sh # 暴露端口 EXPOSE 7860 # 设置入口点 ENTRYPOINT ["/app/start.sh"]