打造私人专属Spotify !NAS部署高颜值音乐服务器『Swing Music』

哈喽小伙伴们好,我是Stark-C~

我想没有哪位音乐爱好者还不知道Spotify吧?作为全球最大的知名音乐流媒体平台,它以海量的曲库、强大的算法以及完善的设备生态让很多用户都把它当做听歌默认首选。

但即便如此,它仍然逃避不了当前流媒体的弊端。比如说过度依赖云端、版权不可控,有付费订阅服务,最主要的还是对国内用户及不友好的网络限制~

而对于拥有大量本地音乐、尤其是 NAS 用户来说,我们其实想要的是既能保留本地音乐的自由与掌控,又能拥有Spotify这种流媒体般的使用体验。

能实现吗?答案是必须的!今天为大家分享的是我最近发现的一款高颜值音乐服务器『Swing Music』,一个能在 NAS 上部署的“私人 Spotify”的开源项目。

关于Swing Music

🔺Swing Music是一个开源、自托管的本地音乐服务器与播放器项目,它拥有简洁美观现代的 UI、强大的本地音乐库管理、跨平台支持(含 Docker)、高性能音频流处理的能力。

PS:提前告知下,该项目目前仅支持英文,所以对于我们来说还是有些不太友好。我个人已经通过 Issue对开发者提出请求,至于开发者后面会不会推出多语言版本这个还不好说,只能看开发者的更新节奏了~

🔺在生态上Swing Music目前也比较完整,官方已经推出现成的PC安装包,支持Windows、Linux、MacOS。至于手机端,目前仅支持安卓客户端。

项目Github地址:https://github.com/swingmx/swingmusic

项目特色亮点:

  1. 现代化、美观的 UI 体验:界面风格类似 Spotify / Apple Music,支持艺术家、专辑卡片视图、动态主题色。

  2. 强大的本地音乐库管理:支持多文件夹扫描与整理,可以自动识别专辑版本、读取音频元数据,并以艺术家 / 专辑 / 流派分类。

  3. 高性能音频流处理:后端基于 Flask API,支持 Range 请求(快进/拖动),自动跳过静音段,打造无缝的聆听体验。

  4. 灵活的音乐自定义方式:首页自动展示,可以根据偏好将专辑和艺术家分组,并支持创建收藏与歌单。

  5. 可扩展插件:支持Last.fm和歌词自动下载。

Swing Music部署

🔺本地部署我依然以威联通NAS为例,在Docker目录中(威联通默认的Docker目录为“Container")新建一个“swingmusic”的文件夹

Snipaste_2026-05-07_23-02-21

🔺然后打开威联通Container Station,选择“应用程序--创建”。

🔺在创建应用程序这里,应用程序名称随意,然后在方框内输入以下 Docker Compose 配置信息:

services:
  swingmusic:
    image: ghcr.io/swingmx/swingmusic:latest
    container_name: swingmusic
    volumes:
      - /share/音乐/music:/music   #  冒号前面映射我们收藏的音乐本地路径
      - /share/Container/swingmusic:/config   #  冒号前面映射swingmusic文件夹本地路径
    ports:
      - "1970:1970"   # web管理页面打开端口,冒号前面请勿冲突
    restart: unless-stopped
​

代码需要修改的地方我都用中文注释标注出来了,其它的直接保持默认即可。镜像的拉取需要自行解决网络问题,粘贴到自己的NAS这边之前建议使用AI工具优化一下,以防止格式问题造成的部署失败。完成之后记得点“验证”按钮,如果通过了就可以点右下角的“创建”按钮。

🔺项目部署好之后看到显示“正在运行”,就说明可以使用了。

Swing Music体验

🔺打开项目容器的详细信息,复制一下它的“端口转发URL”(也就是“NAS IP:端口号”)。

🔺然后粘贴到地址栏并回车就直接打开了项目页面了,首次使用需要输入管理员密码,密码默认“admin”。

🔺然后选择音乐源,选择“Specific directories”选项。

🔺将“ /music”勾选之后,点击“Add all checked”,这样就能将我们部署时候映射的音乐文件添加过来了。

🔺因为我收藏的音乐都是别人这里好的带音乐标签(封面/歌词等信息)的无损音乐,所以这里展示的效果还是不错的。项目虽说显示的是英文,不过作为一款音乐播放器它本身其实没有什么复杂的操作,使用起来也是完全没什么影响。

Snipaste_2026-05-07_23-24-28

🔺可以根据文件夹来管理和播放。

🔺播放界面非常简洁,喜欢听歌的纯粹感应该很喜欢这个风格。

🔺也支持歌词播放,不完美的地方是不支持自动滚动。

🔺可设置项还是很多的,并且还支持歌词下载和Last.fm同步插件。

Snipaste_2026-05-08_10-15-37

🔺然后简单说说大家关心的安卓手机端。使用之前需要先在设置中打开“Pair device”,它其实就是一个包含局域网IP和端口号的二维码。

🔺然后通过安装好的局域网内安卓APP扫码,就能直接连接上了。手机端的界面确实清新简洁,但是貌似有个很大的坑:就是它的音质貌似全被转换成低码,不知道是不是我哪里没有设置好~

Snipaste_2026-05-08_15-44-05

🔺至于PC端,我也安装了,貌似它也不是那种开箱即用的应用程序,还需要安装ffmpeg转码,个人觉得直接pass,反正对于我们NAS用户而言,网页端已经足够了~

最后

总体来说,今天的这个项目部署简单,使用方便,并且颜值设计也确实很贴合绝大多数音乐爱好者,折腾玩玩还是不错的。

不过真要长久使用,个人觉得它还是差点意思。抛开它的UI对于我们来说就水土不服,它的功能感觉也很是一般。所以真要在 NAS 上搭建一个长期稳定、体验优秀的音乐服务器,我还是更推荐大家试试我之前分享过的 道理鱼音乐 和 Navidrome。

好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐