title: 019《树莓派4B家庭服务器搭建指南》第十九期:在树莓派搭建私人音乐服务器navidrome,并支持显示中文歌词
2023年,国产硬盘价格真的是经济实惠,而版权之争导致我们无法从单个平台获取想听的歌,本期我们将在树莓派搭建一个navidrome私人音乐服务器,同时支持显示歌词。(虽然jellyfin也支持管理歌曲,但不支持显示歌词,我认为显示歌词是刚需,最终选择了navidrome)
本文是树莓派不吃灰系列的第19期,涉及到的 docker , samba, frp服务在前面的篇章已发表详细的图文教程,如果遇到困难,请查看 github.com/zhaoolee/pi
在树莓派通过docker compose安装并运行navidrome
mkdir -p /opt/navidrome/data
mkdir /opt/navidrome/music
chmod 777 -R /opt/navidrome
cd /opt/navidrome
touch docker-compose.yml
chmod 777 docker-compose.yml
往docker-compose.yml
写入以下内容
version: "3"
services:
navidrome:
image: deluan/navidrome:latest
user: 1000:1000 # should be owner of volumes
ports:
- "4533:4533"
restart: unless-stopped
environment:
# Optional: put your config options customization here. Examples:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
volumes:
- "/opt/navidrome/data:/data"
- "/opt/navidrome/music:/music:ro"
命令行版本:
sudo bash -c 'cat > /opt/navidrome/docker-compose.yml' <<-'EOF'
version: "3"
services:
navidrome:
image: deluan/navidrome:latest
user: 1000:1000 # should be owner of volumes
ports:
- "4533:4533"
restart: unless-stopped
environment:
# Optional: put your config options customization here. Examples:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
volumes:
- "/opt/navidrome/data:/data"
- "/opt/navidrome/music:/music:ro"
EOF
启动navidrome
cd /opt/navidrome
sudo docker-compose up -d
启动成功后
访问 树莓派局域网ip:4533
创建新用户,并自动完成登录
登录成功
目前我们还没有往/opt/navidrome/music
放任何资源,所以什么都没有,下一步我们将从QQ音乐下载一些资源
从QQ音乐下载mp3格式的歌曲和对应lrc歌词文件
这里选择QQ音乐是因为QQ音乐歌比较全,下载比较方便,从网络下载资源,或找其它人的共享资源,都是可以的
下载完成后,右键浏览本地文件
我们可以查看到下载好的文件
将文件拷贝到桌面,解锁mp3文件
将上面两个文件拷贝到桌面后,打开https://demo.unlock-music.dev/ 将mp3文件拖拽到网页虚线区,进行解锁
下载解锁成功的mp3文件
用mp3tag将lrc信息写入mp3文件tag为UNSYNCEDLYRICS的字段
下载安装mp3tag https://www.mp3tag.de/en/download.html
将解锁后的文件拖拽到mp3tag
右键mp3文件, Extended Tags
新增字段, Add Filed
Field内输入UNSYNCEDLYRICS
Value内填入 lrc文件内的文本
将修改完成的文件,放入树莓派music文件夹中
这里的music文件夹,就是前面创建的 /opt/navidrome/music
刷新即可播放并开启歌词显示
使用frp完成内网穿透
在树莓派配置文件frpc.ini中添加以下配置
[navidrome-frp-v2fy-com-4533]
type = tcp
local_ip = 127.0.0.1
local_port = 4533
remote_port = 4533
可以使用公网访问私人音乐服务了
重启树莓派的frpc后,navidrome工作的4533端口将会被映射到云服务器,我们就可以在外网访问树莓派的navidrome服务了
调整为中文界面
可以尝试多种主题皮肤
窄屏手机版适配依然美观
小结
最近打开音乐软件,推送的歌曲实在不好听,有点想念老式的mp3, 歌曲数量虽然有限,但每首都好听,每首都熟悉。于是产生了搭建私人音乐服务器的想法,一套折腾下来,体验还不错。
本文永久更新地址(欢迎来读留言,写评论):
https://www.v2fy.com/p/2023-07-18-navidrome-1689661443000