关于音乐服务器,我们介绍过Navidrome、道理鱼音乐这些,将它们部署在 NAS 上后,可以把本地音乐统一整理、管理,并通原生或三方软件接入,实现随时随地播放,搭建属于自己的私人音乐库。
音乐服务器解决的是管理和播放,音乐文件依然需要自己准备。如今正是大版权时代,不同音乐平台之间的曲库并不互通,部分歌曲还会出现下架、变灰或需要切换平台才能收听的情况。因此,对于个人已经合法拥有或获得授权的音乐内容,进行统一备份、分类和长期保存也很有必要。
为了更好的缓解这一情况,本次我们来分享一个油管音乐相关的Docker项目,它可以对用户有权使用的媒体内容进行解析和归档,并自动整理封面、歌词、歌曲标签等信息。轻松补充你的乐库,并减少整理时间。

项目介绍
完整项目名:guillevc/yubal,可于GitHub搜索。
yubal 是一个自托管油管 Music Download 工具。提供完整的网页管理界面,能够实时查看任务进度和等待队列,并针对移动端进行了适配,使用手机也能进行操作。
在获得内容使用权限的前提下,用户可以添加单曲、专辑或播放列表链接,Yubal 会自动完成媒体文件整理,并按照歌手、专辑等信息建立清晰的目录结构。
功能特性
- 播放列表定时同步:定期检查已订阅列表,将新增曲目同步到个人音乐库。
- 智能去重:同一首歌曲即使出现在多个列表中,也只保存一份文件,减少重复占用空间。
- 任务自动重试:任务中断或执行失败时可自动重试,并支持安全取消。
- 歌词自动整理:支持同步歌词,并生成兼容常见播放器的 .lrc 文件。
- 音量标准化标签:支持 ReplayGain 标签,降低不同歌曲之间音量忽大忽小的问题。
- 多种音频格式:支持 Opus、MP3 和 M4A,可根据播放设备和存储空间进行选择。
- 适配音乐服务器:整理后的音乐可继续交给 Navidrome、Jellyfin、Gonic 等媒体服务器扫描和管理。
- 命令行工具:除网页界面外,也可以通过命令行查看媒体信息或执行相关任务。
将 Yubal 与 Navidrome 等音乐服务器组合使用,可以形成一套相对完整的个人音乐库流程:由 Yubal 负责内容导入、标签补充和目录整理,再由音乐服务器负责扫描、分类和多终端播放。
部署流程
我们以威联通NAS为例,通过Docker Compose的方式进行部署。
部署代码如下:
services:
yubal:
image: ghcr.io/guillevc/yubal:latest
container_name: yubal
restart: unless-stopped
ports:
- "9527:8000"
environment:
PUID: "0"
PGID: "0"
YUBAL_TZ: "Asia/Shanghai"
# 请自行调整格式:opus、mp3 或 m4a
YUBAL_AUDIO_FORMAT: "mp3"
# 请自行调整音质:0 最佳,10 最低
YUBAL_AUDIO_QUALITY: "0"
# 是否获取同步歌词
YUBAL_FETCH_LYRICS: "true"
# 是否开启播放列表定时同步
YUBAL_SCHEDULER_ENABLED: "true"
# 设置定点检查更新
YUBAL_SCHEDULER_CRON: "0 3 * * *"
# 是否下载用户自行上传的非官方音乐
YUBAL_DOWNLOAD_UGC: "false"
volumes:
- /share/Container/yubal/music:/app/data # 这个请自行更换
- /share/Container/yubal/config:/app/config
打开威联通的Container Station创建新的应用程序。

使用简览
部署完毕后,浏览器输入NAS_IP:9527,初始界面如下。

先随便找一个非官方的测试,将完整网址copy下来。

回到项目页面,粘贴进框内,点击「Download」。等待任务进行。

测试了单曲以及列表,都没问题。

另一个功能区为播放列表订阅与自动同步,我们订阅后,这里会定期检查列表内容,如果出现曲目增加,则会自动同步到NAS中。

因为我是演示,并没有更换到实际媒体库目录,不过可以看到缓存后的结构十分清晰,是不是很省事儿?

最后
实用项目+1。
感谢观看,本文完。
评论区