tll / Dockerfile
hxger's picture
Upload 2 files
2b25169 verified
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"]