hxger commited on
Commit
8bbc0e5
·
verified ·
1 Parent(s): 0f75dbe

Upload 2 files

Browse files
Files changed (2) hide show
  1. Dockerfile +42 -34
  2. app.py +21 -0
Dockerfile CHANGED
@@ -1,34 +1,42 @@
1
- FROM golang:1.21-alpine3.18 as builder
2
-
3
- # 更新系统并安装git
4
- RUN apk update && apk upgrade --available && apk add --no-cache git && sync
5
-
6
- # 工作目录
7
- WORKDIR /app
8
-
9
- # 克隆仓库
10
- RUN git clone https://github.com/EverythingSuckz/TG-FileStreamBot .
11
-
12
- # 编译项目
13
- RUN CGO_ENABLED=0 go build -o /app/fsb -ldflags="-w -s" ./cmd/fsb
14
-
15
- # 生成最终镜像
16
- FROM alpine:3.18
17
-
18
- # 安装必要的运行时依赖
19
- RUN apk add --no-cache ca-certificates tzdata
20
-
21
- # 拷贝编译好的可执行文件
22
- COPY --from=builder /app/fsb /app/fsb
23
-
24
- # 设置工作目录
25
- WORKDIR /app
26
-
27
- # 创建数据目录
28
- RUN mkdir -p /app/data
29
-
30
- # 暴露端口
31
- EXPOSE 7860
32
-
33
- # 启动命令
34
- CMD ["/app/fsb", "run"]
 
 
 
 
 
 
 
 
 
1
+ FROM golang:1.21-alpine3.18 as builder
2
+
3
+ # 安装git和必要工具
4
+ RUN apk update && apk add --no-cache git && apk upgrade --available && sync
5
+
6
+ # 克隆代码库
7
+ WORKDIR /app
8
+ RUN git clone https://github.com/EverythingSuckz/TG-FileStreamBot .
9
+
10
+ # 编译应用
11
+ RUN CGO_ENABLED=0 go build -o /app/fsb -ldflags="-w -s" ./cmd/fsb
12
+
13
+ # 创建最终镜像
14
+ FROM alpine:3.18
15
+
16
+ # 安装必要的SSL证书供HTTPS请求使用以及Python/Flask
17
+ RUN apk add --no-cache ca-certificates python3 py3-pip
18
+
19
+ # 安装Flask
20
+ RUN pip3 install flask
21
+
22
+ # 复制编译好的二进制文件
23
+ COPY --from=builder /app/fsb /app/fsb
24
+
25
+ # 设置工作目录
26
+ WORKDIR /app
27
+
28
+ # 复制环境变量文件和Flask应用
29
+ COPY fsb.env /app/fsb.env
30
+ COPY app.py /app/app.py
31
+
32
+ # 增加启动脚本
33
+ RUN echo '#!/bin/sh' > /app/start.sh && \
34
+ echo 'nohup /app/fsb run > /app/fsb.log 2>&1 &' >> /app/start.sh && \
35
+ echo 'python3 /app/app.py' >> /app/start.sh && \
36
+ chmod +x /app/start.sh
37
+
38
+ # 暴露端口
39
+ EXPOSE 7860
40
+
41
+ # 设置入口点
42
+ ENTRYPOINT ["/app/start.sh"]
app.py ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from flask import Flask, redirect, jsonify
3
+
4
+ app = Flask(__name__)
5
+
6
+ @app.route('/')
7
+ def home():
8
+ """重定向到项目GitHub页面"""
9
+ return redirect('https://github.com/EverythingSuckz/TG-FileStreamBot')
10
+
11
+ @app.route('/health')
12
+ def health():
13
+ """健康检查端点"""
14
+ return jsonify({
15
+ 'status': 'ok',
16
+ 'message': 'TG-FileStreamBot 正在运行!'
17
+ })
18
+
19
+ if __name__ == '__main__':
20
+ # 这个文件在Docker中不会直接运行,仅作为参考
21
+ app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860)))