当前位置:
文章详情

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

2023-12-01 17:42:11 25点赞 320收藏 35评论

笔者目前主用的音乐APP有两款:网易云音乐(88白嫖)和苹果音乐。网易云那边也有云盘支持上传,其实两者加起来也基本能满足听歌需求,但是随着时间推移,变得越来越烦,总要切来切去。锐评一句:现在win版Apple Music跟iTunes简直是卧龙凤雏。

懒惰是最大生产力,既然我有NAS,为啥不自己搭一个呢?在需求的驱动下,搜索到Navidrome并尝试搭建。当然仅靠Navidrome是不完整的,本文也涉及到一些其它加项。

一些web端展示

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

web缩放会自动变换

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

各平台的体验及优缺点放在文末,想提前了解的朋友可以直接跳转。本来没想搞这么多,不断想往里面加点料就成这样了个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

准备工作

建立文件目录

打开文件管理器,在Container目录下创建子文件夹navidromenavidrome下再创建一个data文件夹。文中后续新增的dcoker配置目录都是以此种方式,因此不再重复演示。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

音乐库的源文件夹,比如我们常用QB下载,直接用设置的下载目录就行。歌曲俺习惯迁移集中存放,全丢在一个文件夹。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

文件目录相关只需要这俩,完成后就可以下一步。

接下来Last.fm 和 Spotify 主要是为了获取歌手/专辑的信息/图像,操作非常简单,就索性一起整上去。嫌麻烦的朋友可以略过。

创建并访问Last.fm

首先点我,创建账户。

用户名格式参考“xx_xxx”,创建完成后提交,跳转的页面先不用动,打开注册邮箱进行注册确认。

确认完毕后,返回去刷新页面,开始创建API。按照我们实际用途填写就行,完成后点击SUBMIT

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

提交后,可获得API Key Shared Secret,这俩要记录下来,是我们Docker的环境变量。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。
  1. 创建Spotify账户

点我,先创建一个免费账户,依然需要先验证账号。

然后回到页面,点击Creat app

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

填写名称、描述及重定向 URI,然后点击保存。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

点击设置

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

获得ID 和 密码,这两个同上,也为环境变量,记录下来备用。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

创建Docker

主项目运行

先来看看代码,我们复制到容器后,#后的注释修改完后可进行删除。

version: "3" services: navidrome: image: deluan/navidrome:latest ports: - "4533:4533" #端口号,左侧可换成其它未占用端口 environment: #按需求添加,项目地址有对应介绍 ND_SCANSCHEDULE: 1m #扫描频率,对应s/m/h ND_LASTFM_ENABLED: ND_LASTFM_APIKEY: 68361bc3922f27c3ed70f2d7d9bfef7e #改,准备工作2 Last.fm保存的API ND_LASTFM_SECRET: 30ba6b67d460bff582dae422b963f710 #改,准备工作2 Last.fm保存的密码 ND_SPOTIFY_ID: f01fd31cb1bb4714a79f33bf351fd5fa #改,准备工作3 Spotify ID ND_SPOTIFY_SECRET: 6f77369b272d4c04b9f297f8594e24c9 #改,准备工作3 Spotify 密码 ND_LASTFM_LANGUAGE: zh #默认语言 ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h #会话超时 ND_BASEURL: "" volumes: - "/share/Container/navidrome/data:/data" #docker路径,不需要改 - "/share/CACHEDEV2_DATA/mmmm:/music:ro" #改,"曲库目录:/music:ro"

打开Container Station创建程序名(符合规范且后面能分辨就好),将复制粘贴进去,点一下验证,没问题就点击创建如果验证不通过请注意格式对齐,参考下图。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

可以看到创建成功

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

我们在网页新建标签页,网址栏输入NAS_IP:端口,即可进入登陆界面。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

初始创建管理员账号,输入密码,确认密码,进行提交。

进来后按照下图顺序,右上角点击Personal,左侧语言选简中。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

然后可以设置主题,以及勾选上我们上文设置好的Last.FM喜好。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

右上角可以进行用户账号创建、转码等设置。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

到这一步其实已经成功,将资源倒进目录文件即可。

但是,无论从主流播放器或者各大站点下载的歌曲,很多信息并不全。而受限于种种原因,仅靠Last.fm也不能做到将全部歌曲整理成功。

给大家看看我第一次导入的界面,可以说问题很多个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

那怎么解决呢,那就不得不提到Mu­sic­Tag。

Mu­sic­Tag

首先是web端

点击查看项目地址,作者已经说明,最主要应用场景其实是远程制作服务器的音乐标签

可能是由于我的网络问题?批量刮削并不好用,只能手动逐个修改。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

源全部勾选,但日志基本全是waring提示。单个手动修改还是比较好用的。

作者提供代码

version: '3' services: music-tag: image: xhongc/music_tag_web:latest container_name: music-tag-web ports: - "8001:8001" volumes: - /path/to/your/music:/app/media:rw - /path/to/your/config:/app/data command: /start restart: always

基于上文Navidrome整合修改后的代码

version: "3" services: navidrome: image: deluan/navidrome:latest ports: - "4533:4533" environment: ND_SCANSCHEDULE: 1m ND_LASTFM_ENABLED: ND_LASTFM_APIKEY: f8361bc3922f27c3ed70f2d7d9bfef7e ND_LASTFM_SECRET: 50ba6b67d460bff582dae422b963f710 ND_SPOTIFY_ID: f01fd31cb1bb4714a79f33bf351fd5fa ND_SPOTIFY_SECRET: 6f77369b272d4c04b9f297f8594e24c9 ND_LASTFM_LANGUAGE: zh ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h ND_BASEURL: "" volumes: - "/share/Container/navidrome/data:/data" - "/share/CACHEDEV2_DATA/mmmm:/music:ro" music-tag: image: xhongc/music_tag_web:latest container_name: music-tag-web ports: - "8001:8001" #端口号改成喜欢的 volumes: - "/share/Container/music-tag/data:/app/data" #docker路径,创建好目录文件照搬即可 - "/share/CACHEDEV2_DATA/mmmm:/app/media:rw" #改,"曲库目录:/app/media:rw" command: /start restart: always

按照下图箭头指示,进行重新创建

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

代码修改完后,点击更新,会重新创建,稍等一会就可以看到

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

不得不说,更新后这个docker再编辑是真的好用!

创建完成后,浏览器输入:NAS_IP:端口,即可进入界面。

账号/密码是admin/admin,登陆后就可以进行刮削设置。也支持修改密码,创建新账户等操作。

没有远程修改需求的朋友,还是推荐Mu­sic­Tag客户端Mu­sicbrainz,进行本地批量维护,这种目前看来是最为稳妥的打理方式。

Filebrowser

再加一个很不错的文件管理项目,用于以后异地通过Web页面上传音乐或管理。项目地址

作者直接docker运行,为了方便,就在上文的程序里继续加代码个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

version: "3" services: navidrome: image: deluan/navidrome:latest ports: - "4533:4533" environment: ND_SCANSCHEDULE: 1m ND_LASTFM_ENABLED: ND_LASTFM_APIKEY: f8361bc3922f27c3ed70f2d7d9bfef7e ND_LASTFM_SECRET: 50ba6b67d460bff582dae422b963f710 ND_SPOTIFY_ID: f01fd31cb1bb4714a79f33bf351fd5fa ND_SPOTIFY_SECRET: 6f77369b272d4c04b9f297f8594e24c9 ND_LASTFM_LANGUAGE: zh ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h ND_BASEURL: "" volumes: - "/share/Container/navidrome/data:/data" - "/share/CACHEDEV2_DATA/mmmm:/music:ro" music-tag: image: xhongc/music_tag_web:latest container_name: music-tag-web ports: - "8001:8001" volumes: - "/share/Container/music-tag/data:/app/data" - "/share/CACHEDEV2_DATA/mmmm:/app/media:rw" command: /start restart: always filebrowser: image: filebrowser/filebrowser:latest container_name: filebrowser ports: - "8003:80" #端口号改成喜欢的 volumes: - "/share/Container/filebrowser/data:/data" #docker路径,创建好目录文件照搬即可 - "/share/CACHEDEV2_DATA/mmmm:/srv" #改,"曲库目录:/srv"

还是老样子,修改好验证一下,出错检查每行是否对齐。参考下图

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

点击更新,等待重新创建。

创建完毕,浏览器输入:NAS_IP:端口,进入登陆界面。

账号/密码:admin/admin

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

首先修改语言,按照下图所示进行操作。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

支持线上文件浏览(音乐试听等)、上传/下载进度条显示等非常多的功能。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

全局设置这边也有丰富的可修改项。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

去朋友家里发现好收藏,就可以直接打开网页进行掠夺个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

以上,就是搭建的全部,接下来看看各端展示。

平台体验

官方给出的支持列表。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

移动端

安卓端请认准Ultrasonic,除了不支持歌词实时滚动,没啥大毛病。其它的已试水(Symfonium好用但是需要付米,有免费试用,大伙可以去体验)。

下载好,仅需输入我们Navidrome的地址、账户、密码即可。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

Ultrasonic展示:

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

Symfonium展示:

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

ios客户端play:Sub需付费人民币38元购买,免费的仅有substreamer还算好用。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

PC桌面版

仅推荐Sonixd,直接下载。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

登陆后,惯例语言改成简中

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

说实话,还是可以的。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

现在看到的界面,都得益于前面的系统搭建。

个人音乐服务神器:Navidrome!多端适配,支持多账户分享。个人音乐服务神器:Navidrome!多端适配,支持多账户分享。个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

最后的硬伤还是在于歌词,看是可以看,但没有实时滚动。

总结

navidrome的优点:

  • 可以创建多个用户,每个用户都可以拥有独立的歌单

  • 占用很低的系统资源,即便拥有大量音乐收藏

  • 几乎支持所有音频格式,可在多平台运行

  • 与所有 Subsonic/Madsonic/Airsonic 客户端兼容

  • 自带即时转码,可以为每个用户设置, 支持 Opus 编码

navidrome的缺点:

  • 外部集成的环境不足(国内乐库信息不全),刮削不给力

  • 部署后不能在web界面上传补充歌曲

个人使用建议:歌曲下载后,先通过Mu­sic­TagMu­sicbrainz进行检查和再编辑,再进行入库操作,然后让navidrome自动扫描显示。歌词是痛点,目前唯有付费的播放器能够较好解决这个问题。至于外网访问,反代之类的教程应该很多,就不在这篇里啰嗦啦个人音乐服务神器:Navidrome!多端适配,支持多账户分享。

Qmusic,卸载!

文章到此结束,感谢观看!

展开 收起
35评论

  • 精彩
  • 最新
  • 手机端可以用音流,国人开发者新出的一个app

    校验提示文案

    提交
    [赞一个]

    校验提示文案

    提交
    比作者推荐的好啊

    校验提示文案

    提交
    收起所有回复
  • 很明显 plex放音乐 才是无敌

    校验提示文案

    提交
    这不研究白嫖嘛 [观察]

    校验提示文案

    提交
    plex播放音乐就是白嫖

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 所以,我折腾了一圈。现在就一个23块钱年Spotify。多设备播放,多设备控制。歌曲的特点决定了,它不会像影视那样需要存储

    校验提示文案

    提交
    前前后后攒了大概六七百G的资源,不舍得扔

    校验提示文案

    提交
    我有 2t 的无损,最苦恼的就是 tag 问题,太杂了,太多了,用你说的这个软件能搞么?

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 最重要的音乐获取呢 [阴笑]

    校验提示文案

    提交
    找大哥吧 [长草]

    校验提示文案

    提交
    收起所有回复
  • Mu­sic­Tag我也不能批量操作,估计是软件问题

    校验提示文案

    提交
    对,而且演示界面v2版本,去网站demo测试也不行

    校验提示文案

    提交
    收起所有回复
  • Plexamp免费了,一通乱杀

    校验提示文案

    提交
    确实好用,就是不知道付费后 CarPlay 会不会显示歌词

    校验提示文案

    提交
    收起所有回复
  • navidrome最大的缺点是不支持cue分轨

    校验提示文案

    提交
  • As player

    校验提示文案

    提交
  • 你好,设置了好后,启用last.fm喜好,跳转页面提示api无效,这是咋回事呢?

    校验提示文案

    提交
    需要重新注销之后,再次登陆才可以

    校验提示文案

    提交
    收起所有回复
  • play:sub填写服务器地址的是有有什么注意事项吗?我填完信息以后显示服务器离线的,但是server web page又能打得开

    校验提示文案

    提交
    看看防火墙允许了没

    校验提示文案

    提交
    收起所有回复
  • 每个用户的音乐库都是一样的啊,怎么让不用户访问不同的音乐文件夹啊

    校验提示文案

    提交
  • 安装后一首歌也扫不出来,不知道 哪出问题了

    校验提示文案

    提交
  • 音乐无损也没多大,直接拷到设备上了。反正好歌也就那么一点点

    校验提示文案

    提交
  • 不支持外挂歌词文件是硬伤

    校验提示文案

    提交
    倒是网上看到有人用mp3tag把歌词文件写入进去,但是这太折腾了,一个个的写入太费人了

    校验提示文案

    提交
    musictag可以批量刮削

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

最新文章 热门文章
320
扫一下,分享更方便,购买更轻松