0%

用 Navidrome 搭建私人音乐流媒体服务器

受够了现有全部的流媒体平台订阅后还得挑版权听歌的艹蛋操作, 决定还是得搞一个个人的流媒体服务器才方便. 而且还能直接购买支持歌手. 一次购买一生享用.

本文主要介绍 Navidrome[1] 在群晖上的安装方法

# 平台

硬件: 自组黑群晖[2]配置如下: i3-4170, 8T 存储空间, 8G 内存.

软件: 黑群晖7.1, docker, NAVIDROME

步骤

首先安装 docker, 这个可以直接在套件中心下载

image-20220911094716328

创建 navidrome 文件夹, 这里要注意文件名必须是全小写

image-20220911094117460

创建 music 文件夹

image-20220911095451606

上面的两个文件夹并没有限制放在那里, 只要后面映射的时候对应上就好.

创建定时任务

image-20220911095736639

image-20220911100605182

image-20220911095824940

image-20220911100445550

1
2
3
4
5
6
7
8
9
docker run -d --name=navidrome \
-p 4533:4533 \
-e PUID=1026 \
-e PGID=100 \
-e ND_LOGLEVEL=info \
-v /volume1/docker/navidrome:/data \
-v /volume1/media/music:/music \
--restart always \
deluan/navidrome

点击运行

image-20220911100239247

等待稍许, 看到 docker 里容器已运行

image-20220911101330754

最后通过刚才的端口登录服务, 看到如下页面 (刚不小心直接注册了, 不过差不多), 就说明成功啦

image-20220911101734726

关于音乐管理

搭建个人音乐库最麻烦的地方莫过于对音乐的管理

目前我的方案是:

  • 按专辑收录歌曲, 即使歌单里只有某专辑的一首歌也要收录整张专辑. music 文件夹下各个文件夹就对应各张专辑, 这样跟物理收集专辑比较类似比较方便管理

  • 专辑文件夹命名: [歌手名]-[专辑名], eg: Westlife-Coast to Coast

  • 未被官方收录进专辑的曲目一律收录进专辑 [歌手名]-[歌手名A] 这个目录下, 其中 A 为 Album 的首字母

    如上海彩虹室内合唱团的明天就是下一生没被收录进专辑中, 则将其放在 上海彩虹室内合唱团-上海彩虹室内合唱团A 中. 并打上相应的 tag.

总得来说就是按照专辑来将歌曲文件分类.

image-20220912123417093

btw, 我用 MusicBrainz 来给音乐文件打 tag, 该封面, 很好用的 app (win 端), 推荐一下.

客户端

只要支持 subsonic api 的客户端都行.

ios: Amperfy

win: sonixd

目前就只发现这两款体验较好. 当然电脑上也可以直接上 web.

歌词的话好像多数客户端都没有

该方案的缺点

  1. 对多歌手的歌曲支持不友好. 比如一首歌由两个及以上的歌手演绎, 服务端会把两个歌手拼在一起, 没法区分. 即使你打上了 tag.

    论坛上也有人提出了类似的需求<span class=”hint–top hint–error hint–medium hint–rounded hint–bounce” aria-label=”r/navidrome: Support for multiple artists

“>[5], navidrome 也加入了 todo list. 但看后面有人回复这是 subsonic 的锅, 所以应该不会很快更正. 再说服务端更新后 app 端也得跟上才能完全关闭这个需求.

不过反正我是按 playlist 听歌的, 所以目前这个缺陷对我来说就是首页乱了点, 对听歌体验并没有影响.

![image-20220912122632774](http://blog-pics.fm7077.it/images/2022/09/12/image-20220912122632774.png)

参考链接