yt-dlp是一款功能强大的命令行工具,能够从多种网站下载视频,而 yt-dlp-web-ui 则提供了一个直观的 Web 界面,让你无需操作命令行即可轻松完成视频下载。
yt-dlp-web-ui为yt-dlp项目提供 Web UI 界面,可以通过设置选择视频质量和格式,界面也可以配置用户名密码登录。

主要功能
⭐服务器地址
⭐切换主题
⭐提取音频
⭐切换语言
⭐可选格式选择
⭐覆盖输出文件名
⭐覆盖输出路径
⭐安全地传递自定义 yt-dlp 参数
⭐下载队列(限制并发下载)
拉取 Docker 镜像
docker pull marcobaobao/yt-dlp-webui
运行 Docker 容器
docker run -d -p 3033:3033 -v <your dir>:/downloads marcobaobao/yt-dlp-webui
也可以使用docker-compose部署
mkdir yt-dlp-webui;cd yt-dlp-webui #创建一个目录,并进入此目录
创建docker-compose.yml文件
vim docker-compose.yml
内容如下:
services:
ytdlp-webui:
image: marcobaobao/yt-dlp-webui # 使用的镜像
container_name: ytdlp-webui # 容器名称
ports:
- "3033:3033" # 映射端口 3033 左边的端口可根据你的端口占用情况修改,记得放行。
environment:
- JWT_SECRET=randomsecret # 设置 JWT 密钥,用于生成和验证 token
- TZ=Asia/Shanghai # 设置容器的时区为上海时区
volumes:
- ./downloads:/downloads # 映射本地的下载目录
command: --auth --user admin --pass admin --qs 5 # 启用身份验证,设置用户名和密码,并限制并发为 5
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3033"] # 健康检查,访问 localhost:3033 判断容器是否正常运行
interval: 30s # 健康检查的间隔时间
retries: 3 # 健康检查失败后重试次数
start_period: 10s # 启动后等待 10 秒后开始健康检查
timeout: 10s # 每次健康检查的超时时间
restart: always # 容器停止后总是重启
运行容器
docker compose up -d # 如果是旧版本 Docker,请使用 docker-compose up -d
检验安装是否成功
docker-compose ps
如下所示表示成功部署
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
ytdlp-webui marcobaobao/yt-dlp-webui "./yt-dlp-webui --ou…" ytdlp-webui About a minute ago Up About a minute (healthy) 0.0.0.0:3033->3033/tcp, [::]:3033->3033/tcp

由于配置了密码所以需要登录成功才能使用。下载的视频默认在downloads目录。
设置界面语言
反向代理与 SSL 配置
为了安全性,建议通过 Nginx Proxy Manager 或宝塔面板配置反向代理并启用 HTTPS:
使用 Nginx Proxy Manager 添加反向代理规则,绑定域名并启用 SSL。
或者通过宝塔面板新建站点,配置反向代理规则。
更新与卸载
更新服务
cd /yt-dlp-webui
docker compose pull
docker compose up -d
docker image prune # 清理未使用的镜像
卸载服务
cd /yt-dlp-webui
docker compose down
cd
rm -rf /yt-dlp-webui # 删除所有文件
