Telegram作为云端硬盘:解决TG-FileStreamBot部署的坑

24 年 4 月 24 日 星期三
573 字
3 分钟

AI 摘要

奋力赶来...

为了将Telegram转变为一个无限的网盘资源,便发现了 TG-FileStreamBot 项目,这是一个可以将Telegram作为文件流媒体服务器的工具。尽管在部署过程中遇到了一些障碍,但通过一系列的调试终得到了解决。

部署经历

  1. 构建步骤:

    我从 GitHub 克隆了 TG-FileStreamBot 的仓库,并对 docker-compose.yml 文件进行了必要的调整。这里需要注意的是,我只修改了宿主机的端口映射,而容器内的端口并未修改。其余配置项则严格遵照官方文档进行设置。

bash
   git clone https://github.com/EverythingSuckz/TG-FileStreamBot
   cd TG-FileStreamBot
   docker-compose up -d

调整 docker-compose.yml 文件内容。

yaml
services:
  fsb:
    build: .
    restart: unless-stopped
    container_name: fsb
    environment:
      # required
      - API_ID=1234567 # change this to your ID
      - API_HASH=4ab169c0909090904c44e558361e062f # change this to your HASH
      - BOT_TOKEN=987783:AAHW7r_AV9a9BdkskdksixslpOeep6kfkV2lkjI # enter your bot token
      - BIN_CHANNEL=-6915 # paste channel ID
      - FQDN=example.com
      - PORT=8038
      - NO_PORT=true
      - HAS_SSL=true
    ports:
      - 8038:8080
    volumes:
      - $HOME/TG-FileStreamBot:/app/.env

使用Docker Compose成功构建项目后,没有收到任何错误提示。

构建
  1. 测试与问题排查:

    通过Telegram Bot发送文件后,我可以成功接收文件并获得返回的文件链接。然而,在尝试访问这些文件时,我遭遇了502错误。

    我立即返回到终端进行排查。使用 docker ps -a 确认容器运行无异常后,我尝试了 curl http://localhost:8038,结果显示 curl: (52) Empty reply from server,表明服务器没有响应。

Error

进一步深入容器内部排查,我发现即使在容器内部执行 curl 命令也出现相同的错误。通过执行 netstat -tuln,我注意到8038端口已被占用。

netstat -tuln
  1. 问题解决:

    经过查看docker-compose.yml文件,我意识到我需要调整容器和宿主机之间的端口映射。我将文件中的映射从8038:8080更改为8038:8038,并重新部署了服务。

    修改后的docker-compose.yml配置如下:

yaml
services:
  fsb:
    build: .
    restart: unless-stopped
    container_name: fsb
    environment:
      # required
      - API_ID=1234567 # change this to your ID
      - API_HASH=4ab169c0909090904c44e558361e062f # change this to your HASH
      - BOT_TOKEN=987783:AAHW7r_AV9a9BdkskdksixslpOeep6kfkV2lkjI # enter your bot token
      - BIN_CHANNEL=-6915 # paste channel ID
      - FQDN=example.com
      - PORT=8038
      - NO_PORT=true
      - HAS_SSL=true
    ports:
      - 8038:8038
    volumes:
      - $HOME/TG-FileStreamBot:/app/.env

重新部署后,系统恢复正常运行,问题得到了解决。

血泪教训:不仔细阅读文档掉进坑里,终究需要花费不少时间去填平。

文章标题:Telegram作为云端硬盘:解决TG-FileStreamBot部署的坑

文章作者:Cedar

文章链接:https://some.fylsen.com/posts/telegram-as-cloud-storage-tg-filestreambot-deployment-and-troubleshooting-guide  [复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。