打造自有流媒体音乐服务!NAS部署SwingMusic
前言
最近我去上海溜达逛了一下耳机展,我就又重新想听歌了,所以我就把我之前存在NAS里的高保真HiFi质量音乐找出来,但是我手里的器材其实容量很小,所以我在想不如直接在NAS上搞一个网页播放器,这样搭配我的Zerotier内网穿透,可以实现多处听我NAS上的歌单。
这次装的是SwingMusic,一个界面简约美观操作丝滑的 Nas 音乐播放器。
SwingMusic 最讨喜的地方,是它真的很省事。挂载好目录,把容器跑起来,基本就能开始用了。对于 NAS 用户来说,这种部署方式门槛不高,理解成本也比较低。再加上它本身界面风格简洁,整体体验属于“看着舒服,用着也顺”。
当然,它也不是没有短板,比如没有中文界面、歌词支持不完整、部分细节功能还不够完善。
它更适合的是“想把本地音乐方便地管理起来、随时听起来”的用户,而不是对播放链路要求特别极致的那一类。
关于SwingMusic
图片🔺什么是SwingMusic?SwingMusic 能做什么?
先说最实际的。SwingMusic 这类工具的价值,不是“功能有多花”,而是能把原本只是堆在 NAS 里的本地音乐,真正变成一个能随时访问、随时播放的音乐库。
它可以做的事情其实很直观。
我可以把 NAS 里的音乐目录挂载进去,直接通过浏览器管理和播放;
我可以按自己的习惯创建播放列表,把不同风格的音乐整理好;
我也可以按文件夹浏览音乐库,或者把常听的歌加入收藏。
播放时还能看到当前队列,搜索和设置这些基础功能也都具备。对大多数我这样的NAS 用户来说,这已经足够覆盖日常听歌需求了。
换句话说,SwingMusic 更像是给 NAS 补上了一个“自己的网页版音乐播放器”。以前这些歌只是存在 NAS 里,现在它们终于能像在线流媒体那样,被更方便地调用起来。
它是什么?适合谁用?
SwingMusic 是一个开源、跨平台的 Docker 音乐播放器,定位上更偏向轻量化的本地流媒体服务。它的优点在于界面做得比较现代,文件夹浏览、播放列表、收藏这些常用功能也都齐全,拿来管理本地收藏音乐是舒服的。
如果你平时就有把音乐集中存进 NAS 的习惯,希望在不同设备上更方便地访问和播放,那它是很适合的一类工具。尤其是像我这种,本地已经攒了不少音乐文件,又不想每次都往播放器里重新拷的人,用它会很顺手。
不过也得提前说清楚,它并不是那种面向硬核烧友的专业播放软件。像原生独占输出、DSD 解码、升频、EQ 这类高阶音频功能,它并不主打。
图片项目地址:https://github.com/swingmx/swingmusic
软件的主要特点:
图片🔺Swing Music采用现代化的分层架构设计,主要组件包括:
API层:位于src/swingmusic/api/,提供RESTful接口
数据层:通过src/swingmusic/db/处理数据库操作
业务逻辑层:核心功能在src/swingmusic/lib/实现
前端界面:通过Web浏览器访问,提供直观的音乐管理界面
威联通Container Station安装SwingMusic教程
图片🔺安装非常简单,你可以看我之前发的一篇安装Yantr的文章,Yantr可以实现一键安装。或者你可以用更专业一点的YAML安装,在file station里面建立文件夹,然后把我给你的YAML代码输入进去,然后无脑下一步就可以了。
下面说一下YAML的安装流程。
图片🔺本教程安装时软件版本为 1.2.0,仅供参考。需要映射一个访问的端口,一个保存配置文件的路径映射,一个读取 Nas 本地音乐文件的路径映射。
Docker Compose安装所需要的YAML代码如下:
services:
swingmusic:
image: ghcr.io/swingmx/swingmusic:latest
container_name: swingmusic
volumes:
- /vol1/1000/docker/swingmusic/music:/music
- /vol1/1000/docker/swingmusic/config:/config
ports:
- "1972:1972"
restart: unless-stopped
# 参数说明(更多参数设置建议去看文档)
# /config:存放配置文件
# /music:存放音乐
主要配置文件说明:
swing.db:主数据库文件
userdata.db:用户数据存储
config.json:应用配置(自动生成)
权限问题:确保挂载目录对容器用户(UID 1000)可读可写。
重复扫描:大库可在设置关闭自动扫描,手动触发。
NAS 部署:威联通 / 群晖可在 Container Station/DSM 中用上述 Compose 配置部署。
容器启动之后,打开浏览器访问对应地址,就可以进入 SwingMusic 的配置页面。
图片🔺选择存放音乐的目录,然后点击Select checked(选择选中)。
第一次进入时,需要先把存放音乐的目录添加进去。选好目录后,系统会把它放进根目录,后面如果还有新的音乐路径,也可以继续追加。
虽然现在还没有中文界面,但实际影响不算大。一方面页面里的词汇都比较基础,另一方面现在浏览器翻译也很方便,正常使用没有太大门槛。
目录添加完成后,在文件夹页面里就能看到 NAS 里的音乐内容。如果音乐文件本身带封面,也会一起显示出来。点击歌曲之后,底部就会弹出播放控件,上下首、暂停、循环、喜欢这些基础操作都能完成,整体体验已经比较接近一个轻量级的在线音乐服务了。
图片🔺点击文件夹,可以看到添加的音乐文件夹已经正确显示,点击进入即可。
图片🔺进入文件夹,可以查看到里面的音乐文件,如果音乐内置了封面,也会正常显示。
图片🔺点击音乐便可以正常播放,最下面会弹出音乐播放控件,包括上下首、暂停、循环、喜欢等都可以设置。
图片SwingMusic能干什么?
看我给你说一下SwingMusic这玩意儿的用途。

🔺UI布局介绍:播放列表(Playlist)
在播放列表中,可以对音乐进行整理,比如我建立一个经典音乐的目录,然后将相关音乐放到列表中,点击新建播放列表(New Playlist),然后输入文件夹名称即可。

🔺在音乐列表中,点击三个点➡添加到播放列表➡选择音乐目录即可。

🔺创建好的音乐目录如下,不得不说还是老歌听着舒服。
图片🔺文件夹 (Folders)添加的音乐文件夹可以在此处查看。
图片🔺收藏夹(Favorite)收藏的歌曲活显示在此处
图片🔺队列(Queue)显示当前播放歌曲所在的文件夹的所有歌曲
图片🔺搜索(Search),搜索歌曲,搜索速度还是挺快的。
图片🔺设置(setting)设置模块可以对web ui的布局进行调节。
结语
如果你也有一堆本地收藏的音乐文件,平时又希望在不同设备上随时访问,那 SwingMusic 确实是个值得试试的小工具。
优势点在于:
开箱即用:无需复杂配置,挂载目录即可用。
跨平台:Linux/macOS/Windows、NAS 均支持。
轻量:基于 Python,内存占用低。
美观:现代 Web UI,支持深色模式。
它不算那种功能特别重的播放器,但胜在部署简单、界面舒服、上手容易。配合 NAS 使用之后,基本可以实现一处部署、多端访问,把原本只是存着的音乐真正利用起来。
如果你更在意的是方便、整洁和随时可听,那它是合适的;如果你追求的是非常极致的播放链路和音频调校,那它可能就不是你的主力工具。
如果想了解NAS方面玩法的可以查看我以前写的教程和文章,没有写过的可以评论留言,本篇教程结束咱们下一篇见。

STEVR
校验提示文案
属猴的麦叔叔
校验提示文案
属猴的麦叔叔
校验提示文案
STEVR
校验提示文案