最近萌生了自己搭建音乐库的想法,网易云歌曲下载已经有很多了,但是音乐库该用什么仍没有想法,但是前几天刷公众号找到了一个名为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
更改语言、主题。