查看 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 等链接进行下载了!🎉