前段时间我发了几篇关于 NAS 搭建音乐库的项目和内容。
小伙伴们在评论区留言最多的问题就是音乐去哪里搞。
PT 是一个很好的方案,但是音乐站普遍门槛比较高,不适合普通用户;其次是网盘;最后是油管和B站的音乐MV。
有小伙伴留言提到了simple-sq-music 这个项目,说是可以实现音乐下载,支持flac,ape,mp3 等格式(根据码率不同),并且支持 emby\subsonic(开发中)的歌曲目录结构,同时还支持文件标签支持、歌词下载。
如此神器,怎能独享!今天,我们就分享一下如何通过 docker 来部署 simple-sq-music-plus
部署设备
本次部署使用的是威联通 Qu605-N150-16G。随着近期 NAS 设备不断涨价,威联通这一批 QuN05 的型号性价比越来越强了。
6盘位的配置,相比于一些两盘位、四盘位的 NAS 贵不了多少,而且支持 QTS/Quts Hero 双系统,支持 ZFS 文件以及强大的 HBS3 备份能力,特别适合对数据存储、数据安全需求强烈的用户使用。
首先打开威联通 Container Station 应用,点开应用程序标签并创建。将下面提供的 yaml 代码复制、验证,并且创建。

里面唯一要修改的就是 volumes 下的路径。我这里是/share/Container/sqmusic/xxx,可以根据自己的喜好更改。
如果遇到权限问题,则删除mysql代码里未注释的 volumes 代码,使用我注释的 docker volume 部分。
version: '3.8'
services:
sqmusic_main:
image: registry.cn-hangzhou.aliyuncs.com/sqdockler/simple_sq_music_plus:v3.0.28
container_name: sqmusic_main
environment:
- DB_IP=mysql
- DB_PORT=3306
- DB_NAME=sqmusicv3
- DB_USERNAME=root
- DB_PASSWORD=sqmusicv3password
volumes:
- /share/Container/sqmusic/file:/music
depends_on:
mysql:
condition: service_healthy
networks:
- sq-app-network
expose:
- "8099"
restart: always
sqmusic_web:
image: registry.cn-hangzhou.aliyuncs.com/sqdockler/simple_sq_music_plus_web:v3.0.15
container_name: sqmusic_web
ports:
- "8096:80"
networks:
- sq-app-network
depends_on:
- sqmusic_main
restart: always
mysql:
image: mysql:5.7
container_name: sqmusic_mysql
environment:
MYSQL_ROOT_PASSWORD: sqmusicv3password
MYSQL_DATABASE: sqmusicv3
volumes:
- /share/Container/sqmusic/mysql_data:/var/lib/mysql
# - sqmusic-db:/var/lib/mysql # 配合下面的volumes一起用
networks:
- sq-app-network
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
restart: always
networks:
sq-app-network:
driver: bridge
#volumes:
# #sqmusic-db:第一次运行,系统会报错,这是因为 mysql 容器还在启动中,其它容器要依赖 mysql 启动。
等个大概 3、4 分钟,mysql 正常启动了。再退回到应用程序首页,重新选择sqmusic 项目点击启动。

现在整个项目正常运行咯。可以点到sqmusic_web容器下,威联通在左侧有一个端口转发的配置项,点一下复制 URL。

admin/admin
点击右上角的设置,往下滑,可以看到一个插件设置。里面按需打开需要下载的源的信息。有些需要配置 ck,有些需要扫码登录,具体的我就不说了。

这里以压抑云的 CK 获取为例,登录压抑云,然后按F12 开启开发者模式,并切换到网络标签。
然后随意刷新网页,在左侧列表里选一个 URL,切换到标头,选择 Cookie 复制到系统里。
测试一下下载,所以搜了一下我男神的内容。可以看到的是,除了下载,sqmusic 项目也支持在线收听。

格式很多,而且根据 ck 以及你的会员等级会有更多的格式选择。我 下载 flac 格式的,秒下载,当然具体以你家里的下行带宽而定。

回到威联通文件管理里,可以看到歌曲按照:歌手-专辑-单曲,这样的格式存储,并且专辑封面信息这些都有。

单曲内部,封面、歌词、flac 格式音乐都在。后续配合 emby 等媒体库直接扫描识别就能用了。

此外,sqmusic 还支持歌单下载。不过目前只支持企鹅家的歌单,后续会支持其他平台。
如果想要下载,可以使用解析文本将歌单转换为文本。
下方作者给出了一个格式转换的地址,可以将歌单链接解析为“歌词-歌手”这样的格式,然后通过文本解析下载。
不过经过我测试,由于歌单里单曲的搜索匹配原因,会返回空指针导致音乐无法下载,需要自己剔除一些带有翻、繁、奇怪字符的信息才可以,因此实用性不是特别高。