我有个朋友,买了飞牛 NAS 之后一直在问我,硬盘里的音乐怎么在手机上听。

他不是程序员,就是普通上班族,买 NAS 的原因很简单,不想把照片和文件放在别人的服务器上。音乐这块,他一直用网易云,但最近发现好几首收藏的歌被下架了,有点慌。

我跟他说,你硬盘里有音乐吗?

他说有,乱七八糟的,几千首,不知道从哪里拷来的。

我说,那你装一个 Swing Music 吧,装完你就有自己的 Spotify 了。

他问,难不难?

我说,你跟着我说的做,20分钟能跑起来。

这篇文章就是写给他的,也写给所有买了飞牛 NAS、硬盘里有音乐、但不知道怎么听的人。


Swing Music 是什么

一句话,它是一个跑在你自己 NAS 上的音乐播放服务。你把音乐文件放在 NAS 里,它帮你整理好、做成漂亮的界面,然后你在浏览器里打开,就跟用 Spotify 一样听歌。手机、电脑、平板,只要在同一个局域网里,都能用。

不需要花钱,不需要会写代码,不会有歌被下架。

0-WIfS

开始之前,先准备两件事

第一,飞牛 NAS 上要有一个存音乐的文件夹,比如 /vol1/1000/musicc,把你的 mp3、flac 之类的音乐文件放进去。如果还没整理,现在先建个文件夹,把音乐扔进去就行,不用分类,Swing Music 会帮你整理。

0-KgsL

第二,飞牛 NAS 的 Docker 功能要是开着的。飞牛的系统里自带 Docker 管理界面,打开「应用中心」能找到,确认它在运行就好。

0-XcwT

部署步骤:粘贴这段配置就行

打开飞牛的 Docker 管理界面,找到「Compose」这个入口。

0-uuJh

新建一个项目,名字随便填,比如就叫 swingmusic。然后把下面这段配置粘贴进去:

services:
  swingmusic:
    image: ghcr.io/swingmx/swingmusic:latest
    container_name: swingmusic
    volumes:
      - /vol1/1000/music:/music
      - ./swingmusic/config:/config
    ports:
      - "1970:1970"
    restart: unless-stopped

这里有两个地方需要改一下。

/vol1/1000/music 换成你实际存音乐的路径。如果你的音乐放在 /vol2/1000/music,就改成 /vol2/1000/music。不确定路径的话,在飞牛的文件管理器里找到那个文件夹,地址栏里显示的就是路径。

./swingmusic/config 这个是用来存 Swing Music 配置文件的,建议保持这个路径,飞牛会自动帮你创建这个文件夹。

0-ftmZ

改好之后,点部署或者启动,等它把镜像下载完,大概需要一两分钟,取决于你的网速。

0-uNgN

初始设置

看到容器状态变成「运行中」之后,打开浏览器,地址栏输入:

http://你的NAS的IP地址:1970

NAS 的 IP 地址在飞牛系统设置的「网络设置」里能看到 IPv4地址,通常是 192.168.x.x 这样的格式。

0-AjDm

默认密码为: admin。登录成功后可以在设置中进行修改。

第一次打开会有一个初始设置页面,它会问你音乐文件夹在哪里。选择 music 目录。

0-HsoS
0-XcNe

填完之后点确认,它就开始扫描你的音乐库了。几千首歌大概三五分钟扫完,两万首的话可能要十分钟左右,扫描期间可以直接开始听,不用等它全部扫完。

0-pYeV

几个你会用到的功能

扫描完之后,你会看到一个很像 Spotify 的界面,所有的专辑封面、艺术家信息都自动拉好了。

Daily Mixes,每日混音。它会根据你的收听记录,每天自动生成几个歌单,有点像 Spotify 的每日推荐,但完全基于你自己的库。用了一周之后,它就能大概摸清楚你的口味。

Album Versioning,专辑版本管理。如果你有同一张专辑的 Deluxe 版和普通版,它会自动识别并归类在一起,不会变成两张看起来一样的专辑堆在那里。

收听统计,记录你听了什么、听了多久,有点像年度听歌报告,随时都能看。


手机上怎么用

安卓用户,官方有专门的 Android 客户端,在 GitHub 的 releases 页面 可以下载,安装之后填入 NAS 的地址就能用,体验跟原生 App 差不多。

0-RQsq

iPhone 用户,目前没有 iOS 客户端,只能用 Safari 打开 http://NAS的IP:1970 来听。后台播放会有些限制,这是 iOS 的机制问题,不是 Swing Music 的 bug。如果你主要用 iPhone 听歌,这个是需要提前知道的。

在家里局域网里用没有问题,如果想在外面也能听,需要额外配置内网穿透,这个话题比较长,以后单独说。


出问题了怎么办

打开了 1970 端口但页面打不开,先检查飞牛的防火墙设置,确认 1970 端口没有被拦截。

音乐扫不出来,检查 /vol1/1000/music 这个路径是不是真的有文件,以及配置里的路径是不是写对了。

容器启动失败,检查 config 目录的权限,飞牛有时候需要手动给文件夹赋权。


买了 NAS 放硬盘,结果音乐还是靠流媒体平台,总觉得有点可惜。Swing Music 这个方案,部署一次之后基本不用管,它会一直跑在那里,你往音乐文件夹里扔新文件,它自动识别,下次打开就能看到。

GitHub 地址是 github.com/swingmx/swingmusic,有问题也可以去那里的 Issues 区搜一搜,大概率有人遇到过同样的情况。


以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标

谢谢你看我的文章,我们,下次再见。