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

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

理论存在,实践开始。

安装Alist

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

安装并配置davfs2

安装

sudo apt install davfs2 -y

修改配置文件

vim /etc/davfs2/davfs2.conf

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

挂载Alist WebDav

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

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

设置系统启动时自动挂载

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

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

vim /etc/fstab

在文件末尾添加:

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

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

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

安装Navidrome

使用Docker运行:

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更改语言、主题。