Ubuntu 系统 部署 MeTube

查看 docker 版本

docker --version
docker-compose --version

Ubuntu 系统命令行部署 MeTube(基于 yt-dlp 的自托管视频下载器)的完整指南,使用 Docker Compose 配置文件。

📋 前置要求

确保已安装 Docker 和 Docker Compose:

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装 Docker
sudo apt install -y docker.io docker-compose

# 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker

# 将当前用户加入 docker 组(避免每次使用 sudo)
sudo usermod -aG docker $USER

# 验证安装
docker --version
docker-compose --version

⚠️ 添加用户到 docker 组后,需要 重新登录 或执行 newgrp docker 使权限生效。

🚀 部署步骤

1. 创建工作目录

mkdir -p ~/metube && cd ~/metube

2. 创建 Docker Compose 配置文件

nano docker-compose.yml

3. 基础配置(复制以下内容)

以下是最简配置,适合大多数用户:

services:
  metube:
    image: ghcr.io/alexta69/metube:latest
    container_name: metube
    restart: unless-stopped
    privileged: true
    ports:
      - "8081:8081"
    volumes:
      - ./downloads:/downloads
    environment:
      - TZ=Asia/Shanghai

5. 启动服务

# 拉取镜像并后台启动
docker-compose up -d

# 查看日志
docker-compose logs -f

# 查看运行状态
docker-compose ps

6. 访问 Web 界面

打开浏览器访问:

http://你的服务器IP:8081

🔧 常用管理命令

# 停止服务
docker-compose down

# 重启服务
docker-compose restart

# 更新镜像(拉取最新版)
docker-compose pull
docker-compose up -d

# 进入容器内部
docker exec -it metube sh

# 查看容器日志
docker logs -f metube

# 查看 yt-dlp 版本(在容器内)
docker exec metube yt-dlp --version

⚙️ 关键参数说明

参数 说明 示例值
PUID/PGID 运行服务的用户/组ID 1000
UMASK 文件权限掩码 022
DOWNLOAD_MODE 下载调度模式 limited/sequential/parallel
MAX_CONCURRENT_DOWNLOADS 最大并发下载数 3
DEFAULT_THEME 默认主题 dark/light/auto
YTDL_OPTIONS yt-dlp 高级参数(JSON格式) {"format":"best"}

💡 实用技巧

1. 配合浏览器扩展使用

安装 Chrome/Firefox 扩展,可直接在视频页面发送到 MeTube 下载。

2. 自动更新(使用 Watchtower)

docker-compose.yml 中添加:

services:
  metube:
    # ... 原有配置
  
  watchtower:
    image: containrrr/watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command: --interval 86400 --cleanup metube
    restart: unless-stopped

3. 配合反向代理(Nginx)

如需域名访问和 HTTPS,配置示例:

location / {
    proxy_pass http://localhost:8081;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
}

🛠️ 故障排查

  • 权限问题:确保 PUID/PGID 与宿主机用户一致(运行 id $USER 查看)
  • 下载失败:检查 yt-dlp 是否最新(MeTube 会自动更新,也可手动重启容器)
  • 磁盘空间:默认下载到 ./downloads,确保磁盘空间充足

现在你可以通过 Web 界面粘贴 YouTube/Bilibili 等链接进行下载了!🎉

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容