MeTube 是一个基于 yt-dlp 的网页端视频下载器,只需要在浏览器打开NAS的指定端口,就能粘贴视频链接直接下载YouTube、哔哩哔哩、抖音等主流网站的视频。它支持播放列表批量下载、自动命名与格式化、多任务下载等功能,让NAS变身私人视频下载中心。

项目背景与目标

  • 核心需求:在飞牛NAS的Docker中部署MeTube,用于下载YouTube等平台的视频。
  • 网络目标:让MeTube容器的所有网络流量都经过旁路由,从而利用旁路由的加速或代理等功能。

HTTP代理方案的优势在于

  1. 配置极简:仅需设置2个环境变量。
  2. 通用性强:适用于任何支持HTTP代理的Docker应用。
  3. 管理方便:修改代理设置无需重构Docker网络。

最终版Docker Compose配置

以下为最终稳定运行的 docker-compose.yml 文件内容。请将其中的卷挂载路径 /opt/metube/Downloads 替换为您NAS上的实际下载目录。

services:
  metube:
    image: alexta69/metube  # 使用的官方镜像
    container_name: metube    # 容器命名
    restart: unless-stopped   # 自动重启策略
    ports:
      - "18081:8081"          # 将容器内8081端口映射到NAS的18081端口
    environment:
      - TZ=Asia/Shanghai      # 设置容器时区
      - HTTP_PROXY=http://192.168.0.111:55556    # HTTP流量代理
      - HTTPS_PROXY=http://192.168.0.111:55556   # HTTPS流量代理
    volumes:
      - "/opt/metube/Downloads:/downloads"  # 重要:挂载下载目录以实现数据持久化
    network_mode: bridge
# 无需自定义网络,使用默认的bridge网络即可

注意:旁路由的代理设置,需要确保该代理服务器已正确配置,并已启动。
1.png
2.png

配置说明

  1. 关键环境变量

    • HTTP_PROXYHTTPS_PROXY:这是核心配置,告知容器内的程序(如yt-dlp)将所有HTTP/HTTPS请求发送到指定的代理服务器(即您的旁路由)。
    • 注意:请确认您的旁路由(192.168.0.111)上代理服务的实际端口,并据此修改。
  2. 端口映射18081:8081 意味着您可以通过访问 http://您的飞牛NAS的IP:18081(例如 http://192.168.0.xxx:18081)来打开MeTube的Web界面。
  3. 数据持久化:通过volumes将容器内的/downloads目录映射到NAS的物理路径,保证下载的文件在容器重建后不会丢失。

部署与验证步骤

  1. 部署应用
    将上述YAML配置保存为 docker-compose.yml 文件,然后在该文件所在目录执行
  2. 验证服务
    在浏览器中打开 http://192.168.0.xxx:18081,应能看到MeTube的Web界面。

3.png

总结

通过为MeTube的Docker容器设置 HTTP_PROXYHTTPS_PROXY 环境变量,我们以一种极其简洁的方式实现了网络流量的定向转发。这个方案成功绕开了复杂的网络模式配置和潜在的SSL证书陷阱,是功能、复杂度和可靠性之间的最佳平衡点。

此方案具有普适性,同样适用于任何需要走代理的其他Docker应用(如Transmission、qBittorrent等),只需在其环境变量中配置相同的代理设置即可。

希望这篇指南能帮助您顺利搭建属于自己的高效下载环境!

标签: none

添加新评论