说明

Navidrome 是一款可以在 macOS、Linux、Windows以及 Docker 等平台上运行的跨平台开源音乐服务器应用,它支持传输常见的 MP3、FLAC、WAV等音频格式。
允许用户通过 Web 界面或 API 进行音乐库的管理和访问

Navidrome 是一款基于网络的开源音乐收藏服务器和流媒体,它是一开源的音乐播放器软件,可以用来自建云端音乐播放器,它兼容 Subsonic、Aironic 播放器,你可以将Navidrome打造成个人音乐流媒体服务平台。Navidrome 支持各大平台,包括:Windows 、macOS 、Linux。它几乎可播放任何音频格式,支持多用户,每个用户都有自己的播放次数、播放列表、收藏夹等。

介绍

Navidrome适用于所有主要平台的即用型二进制文件,包括 Raspberry Pi ,可以自动监控你的库的变化,导入新文件和重新加载新的元数据,还可以在传输中进行转码,可按用户/播放器设置,支持 Opus 编码 。

  • 处理超大音乐收藏
  • 几乎可串流任何音频格式
  • 读取并使用所有精心策划的元数据
  • 对合集(Various Artists 专辑)和盒装(多碟专辑)的强大支持
  • 多用户,每个用户都有自己的播放次数、播放列表、收藏夹等。
  • 资源使用率极低
  • 多平台,可在 macOS、Linux 和 Windows 上运行。还提供 Docker 映像
  • 所有主要平台(包括 Raspberry Pi)的二进制文件均可随时使用
  • 自动监控资料库变化,导入新文件并重新加载新元数据
  • 基于 Material UI 的可主题化、现代化和响应式网络界面
  • 与所有 Subsonic/Madsonic/Airsonic 客户端兼容
  • 即时转码可按用户/播放器设置。支持 Opus 编码
  • 翻译成各种语言

展示

相关地址

官方地址:https://www.navidrome.org/demo/

官方文档:https://www.navidrome.org/docs/

安装

网上有各种安装教程,docker安装是最方便

Docker

拉取镜像: docker pull deluan/navidrome
报错的话根据【docker下载pull镜像失败报错】方法解决

创建并启动容器:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
docker run -d \
--name=navidrome \
-e ND_SCANINTERVAL_HOURS=24 \
-e ND_LOGLEVEL=info \
-v /mnt/share/navidrome/music:/music \
-v /mnt/share/navidrome/data:/data \
-p 4533:4533 \
deluan/navidrome:latest

这里是一些参数的解释:
-d:在后台运行容器。
--name=navidrome:给容器命名为 navidrome。
-e ND_SCANINTERVAL_HOURS=24:设置音乐库扫描间隔为24小时。
-e ND_LOGLEVEL=info:设置日志级别为 info。
-v /path/to/navidrome/music:/music:挂载你的音乐文件夹到容器内的 /music 目录。
-v /path/to/navidrome/data:/data:挂载数据文件夹到容器内的 /data 目录,用于存储配置和数据库。
-p 4533:4533:将容器的 4533 端口映射到宿主机的 4533 端口。

navidrome添加多个目录
docker run -d \
--name navidrome \
-e ND_SCANSCHEDULE=1h \
-e ND_MUSICFOLDER="/path/to/music1:/path/to/music2" \
-v /path/to/navidrome/data:/data \
-v /path/to/music1:/path/to/music1 \
-v /path/to/music2:/path/to/music2 \
-p 4533:4533 \
deluan/navidrome:latest

D_MUSICFOLDER 环境变量用于指定多个音乐目录,目录之间用冒号(:)分隔。确保将/path/to/music1和/path/to/music2替换为你的实际音乐目录路径。


先使用 sudo docker ps -a 查看 Navidrome 是否已经启动了,如果没有启动可以使用 docker start id 进行启动。服务的默认端口是 4533。

启动成功后,在浏览器中输入 localhost:4533 或者本地ip:4533,可以看到进入到了 Navidrome 的登录界面,设置一个用户名和密码就可以了。

登录后,点击界面右上角的头像图标进入个性化,设置语言为简体中文。

如果你在真实存储路径中有存放的音乐, Navidrome 会自动扫描进来,并自动将歌曲分类为各个专辑的形式展现。

外网访问本地 Navidrome:花生壳/路由侠/ddns/cpolar都行

上传音乐文件

接下来给大家做一个简单的示例上传自己的音乐文件

将音乐文件上传到/opt/navidrome/music

我们使用FinalShell连接服务器示例,找到/opt/navidrome/music文件路径,这个路径已您在docker-compose.yml镜像中的路径保持一致

把音乐文件上传至这个文件夹即可

可以用管理员账号创建其他账号,分享给其他人使用

也可以手机端使用,Navidrome提供Subsonic API

兼容的APP可以到官网查看:https://www.navidrome.org/docs/overview/#apps

歌曲的来源这里不细说,本人百度云盘收藏n多音乐资源。部分整理已分享,请自取。 更多请加qq407737980,获取
链接: https://pan.baidu.com/s/124fGXC44QjTnJfubXf8CmA 提取码: jppg 复制这段内容后打开百度网盘手机App,操作更方便哦

这里直接使用 scp 命令进行上传,需要在歌曲所在文件夹下运行。

• ./* 表示上传当前目录所有文件。
root@192.168.0.7 为服务器用户名和 IP.
• :/home/index/music/folder 为上传到的路径。

使用miserver上传

打开浏览器,输入ip:4534,输入docker-compose.yaml文件末尾预先设置的用户名和密码(如果你没有改动的话,用户名dujin,密码www.dujin.org),就可以进入音乐上传页面了。

个人感觉宝塔的可视化上传更加方便,这也意味着还可以配置宝塔 FTP,甚至挂载网盘来进行扩容、保存、备份你的音乐文件。
注意: 上传完毕,在浏览器navidrome刷新

App推荐

为了能让 Navidrome 变得稍微好用一点点,我的建议是使用第三方客户端。Navidrome 目前支持 Sub­sonic/Mad­sonic/Air­sonic 协议,市面上(iOS App Store)已经有许多 Sub­sonic/Mad­sonic/Air­sonic 的客户端,但它们都没有中文。「音流」的出现,让中文用户多了一种选择。

音流

「音流」是一款国人开发的音乐播放器,支持 Sub­sonic/Navidrome/Jel­lyfin/Emby/Au­dio­Sta­tion,现已登录 An­droid、iOS,未来可能支持 Win­dows 和 tvOS 平台。采用 Flut­ter 开发,界面简洁美观,整体以透明和高斯模糊为主,布局类似于网易云音乐,上手基本没有门槛。

我最满意的是这个收藏功能,手机只下载喜欢的,如果还能加一个不喜欢标签就更好了,1万多首歌做歌单有点扛不住。

另外还有离线模式,音乐缓存也可以设置最大128G,减少断网带来的尴尬。

作者修bug挺勤快的。

歌词封面API:

支持第三方API:

1
2
https://api.lrc.cx/lyrics
https://api.lrc.cx/cover

准备音乐资源

Last.fm

Last·fm是 Audioscrobbler 音乐引擎设计团队的旗舰产品,以英国为总部的网络电台和音乐社区。有遍布232个国家超过1500万的活跃听众。据说有6亿音乐资源。
docker-compose.yml 配置 Navidrome 可以从 Last.fm 和 Spotify 获取专辑信息和图像。
Last.fm。首先需要一个Last.fm 免费帐户,其次你要能访问Last.fm。转到 https://www.last.fm/api/account/create 并创建一个 API 帐户。只有 应用程序名称 字段是强制性的。
账号信息

Spotify

Spotify,中文名称声田或声破天,是一个全球范围的正版音乐服务平台,于2008年10月在瑞典首都斯德哥尔摩正式上线。Spotify是目前是全球最大的流音乐服务商之一,与环球音乐集团、索尼音乐娱乐、华纳音乐集团三大唱片公司及其它唱片公司合作授权、由数字版权管理保护的音乐。

Alist环境安装使用

最近萌生了自己搭建音乐库的想法,网易云歌曲下载已经有很多了,但是音乐库该用什么仍没有想法,但是前几天刷公众号找到了一个名为Navidrome的“音乐服务器”,他是一个基于 Web 的开源音乐收集服务器和流媒体。它让您可以自由地从任何浏览器或移动设备收听您的音乐收藏。

但是他仅能读取本地的音乐,而我手头上正好没有NAS,只有一台50G存储的服务器,那我是否可以这样实现:

理论存在,实践开始。

安装Alist

此处不在赘述,查阅Alist Docs安装Alist即可。

安装并配置davfs2

安装

1
sudo apt install davfs2 -y

修改配置文件

1
vim /etc/davfs2/davfs2.conf

i进入编辑模式,在配置文件中分别找到ignore_dav_header follow_redirect ,把他们前面的注释删掉,后面的0改为1;找到use_locks,将前面的注释删掉,后面的1改为0。最后按esc,输入:wq保存。

挂载Alist WebDav

1
sudo mount -t davfs http://<YourIP>:<Port>/dav /root/alist

改为你的Alist地址,后面的目录看你自己想挂载在哪里。

设置系统启动时自动挂载

1
echo "http://<YourIP>:<Port>/dav <user> <password>" > /etc/davfs2/secretsvim /etc/davfs2/davfs2.conf

改为你的Alist地址,修改为你的Alist账号密码。

1
vim /etc/fstab

在文件末尾添加:

1
http://<YourIP>:<Port>/dav /root/alist davfs _netdev,auto 0 0

还是一样,改为你的Alist地址,修改后面的挂载目录,最后:wq保存即可。

这样设置后,每次系统启动时,都会自动尝试挂载Alist WebDav到 /root/alist

安装Navidrome

使用Docker运行:

1
2
3
4
5
6
7
8
9
docker run -d \
--name navidrome \
--restart=unless-stopped \
--user $(id -u):$(id -g) \
-v /root/alist/music:/music \
-v /root/navidrome_data/data:/data \
-p 4533:4533 \
-e ND_LOGLEVEL=info \
deluan/navidrome:latest

更多的环境变量配置可查看官方文档。我个人建议设置Last.fm和Spotify,这样可以获取专辑图片、简介和歌手图片、简介。使用docker ps查看运行状态,然后打开http://<YourIP>:4533,注册你的管理员账号,前往/app/#/personal更改语言、主题。

更多的环境变量配置可查看官方文档。我个人建议设置Last.fm和Spotify,这样可以获取专辑图片、简介和歌手图片、简介。使用docker ps查看运行状态,然后打开http://:4533,注册你的管理员账号,前往/app/#/personal更改语言、主题。


相关链接(侵删)

  1. 本地 Docker 部署 Navidrome 以及外网远程访问详细教程

  2. 使用Docker搭建属于自己的开源音乐服务器——Navidrome

  3. 使用Navidrome配合音流软件自建音乐库并通过alist挂载网盘使用

  4. Navidrome音乐服务器 + 音流APP = 释放你的手机空间

  5. Installing with Docker官网

  6. 自建音乐服务器Navidrome之二

  7. (很有用)Alist+Navidrome搭建自己的音乐库,从此听歌不求人!


=================我是分割线=================

欢迎到公众号来唠嗑: