hxger commited on
Commit
92a5a6a
·
verified ·
1 Parent(s): ffad0b0

Upload 2 files

Browse files
Files changed (2) hide show
  1. Dockerfile +34 -0
  2. env.sh +29 -0
Dockerfile ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM golang:1.21-alpine3.18 as builder
2
+
3
+ # 设置工作目录
4
+ WORKDIR /app
5
+
6
+ # 克隆项目仓库
7
+ RUN apk add --no-cache git && \
8
+ git clone https://github.com/EverythingSuckz/TG-FileStreamBot.git . && \
9
+ apk del git
10
+
11
+ # 构建二进制文件
12
+ RUN CGO_ENABLED=0 go build -o /app/fsb -ldflags="-w -s" ./cmd/fsb
13
+
14
+ # 使用scratch作为最终镜像以减小体积
15
+ FROM alpine:3.18
16
+
17
+ # 从构建阶段复制二进制文件
18
+ COPY --from=builder /app/fsb /app/fsb
19
+
20
+ # 创建日志目录
21
+ RUN mkdir -p /app/logs
22
+
23
+ # 复制环境变量文件
24
+ COPY env.sh /app/env.sh
25
+ RUN chmod +x /app/env.sh
26
+
27
+ # 设置环境变量
28
+ ENV PORT=7860
29
+
30
+ # 暴露端口 - Hugging Face Space默认使用7860端口
31
+ EXPOSE 7860
32
+
33
+ # 入口点
34
+ ENTRYPOINT ["/bin/sh", "-c", "/app/env.sh && /app/fsb run"]
env.sh ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/sh
2
+
3
+ # 创建环境变量文件
4
+ cat > /app/fsb.env << EOL
5
+ API_ID=${API_ID}
6
+ API_HASH=${API_HASH}
7
+ BOT_TOKEN=${BOT_TOKEN}
8
+ LOG_CHANNEL=${LOG_CHANNEL}
9
+ PORT=${PORT:-7860}
10
+ HASH_LENGTH=${HASH_LENGTH:-6}
11
+ HOST=${HOST:-https://${SPACE_ID}.hf.space}
12
+ EOL
13
+
14
+ # 如果配置了多个机器人令牌,则添加它们
15
+ if [ -n "$MULTI_TOKEN1" ]; then
16
+ echo "MULTI_TOKEN1=${MULTI_TOKEN1}" >> /app/fsb.env
17
+ fi
18
+
19
+ if [ -n "$MULTI_TOKEN2" ]; then
20
+ echo "MULTI_TOKEN2=${MULTI_TOKEN2}" >> /app/fsb.env
21
+ fi
22
+
23
+ if [ -n "$MULTI_TOKEN3" ]; then
24
+ echo "MULTI_TOKEN3=${MULTI_TOKEN3}" >> /app/fsb.env
25
+ fi
26
+
27
+ if [ -n "$MULTI_TOKEN4" ]; then
28
+ echo "MULTI_TOKEN4=${MULTI_TOKEN4}" >> /app/fsb.env
29
+ fi