File size: 1,012 Bytes
8bbc0e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2b25169
8bbc0e5
 
 
 
 
 
 
 
 
 
 
 
 
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
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"]