使用群晖的 Docker 安装 telegram_media_downloader

项目地址

项目地址:https://github.com/tangyoha/telegram_media_downloader

具体步骤

  1. 拉取镜像:

在群晖的 Container 中,设置好 Docker 的镜像地址,参考:https://linuxmirrors.cn/, 并在列表中搜索:telegram_media_downloader。

image-20260312163814734 image-20260312164031524
  1. 新增容器,选择刚刚下载的镜像telegram_media_downloader,并给容器命名;

image-20260312164202222

  1. 进行相关设置,设置好网络端口映射:

image-20260312164227969

  1. 设置存储空间的映射关系如下:

image-20260312164309611

创建好空的文件,稍后需要配置 config.yaml。其中 /app/downloads 是容器内下载的地址,需要映射到群晖中实际存储的文件夹,这里选择的是 /volume2/UN/tg

  1. 通过 SSH 进入系统,找到 config.yaml,参考配置:https://github.com/tangyoha/telegram_media_downloader/blob/master/README_CN.md

    目前需求是下载收藏夹的视频,所以这里的配置如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    api_id:  # Telegram 官网申请
    api_hash: # Telegram 官网申请
    chat:
    - chat_id: me # 收藏夹
    - last_read_message_id: 0 #第一次设置为0,会自动从头开始,后续会更新
    web_host: 0.0.0.0 # 必备
    bot_token:
    file_formats:
    document:
    - all
    video:
    - all
    media_types:
    - photo
    - video
    proxy: # 设置好代理
    scheme: socks5
    hostname: 192.168.2.164
    port: 7890
    save_path: /app/downloads
    file_path_prefix:
    - chat_title
    - media_datetime
    language: EN
  2. 设置完成后,利用命令行启动一次容器,并填写电话号码(带国家号)和验证码(Telegram 客户端):

image-20230616200213481

登录成功后,选择 Ctrl+C 退出,利用群晖的 Container 再次启动。

  1. 此刻进入 http://群晖IP:8051(刚刚映射的端口),就可以看到下载情况。这里的下载是增量下载,会自动从最早的文件开始下载到最新的文件。从 config.yaml 中可以看到,程序会记录已下载完成的上一条 last_read_message_id
image-20260312165534220
  1. 注意:

    • 代理一定要设置好

    • 下载完成后容器就会关闭,所以一开始建议设置好需要下载媒体的范围。