本文首发至个人博客
写在前面
本文部署过程略显复杂,建议新手朋友搭配宝塔面板食用。
本教程包含:Navidrome部署、音乐刮削、音流APP使用、歌词API搭建。
Navidrome简介
Navidrome 是一个自托管的开源音乐服务器和流媒体。它让您可以自由地从任何浏览器或移动设备收听您的音乐收藏。
注意事项
本文所有docker配置均仅允许本地访问,即均需使用nginx反代访问。
安装docker
curl -sSL https://get.docker.com/ | sh
Docker搭建Navidrome音乐服
创建docker compose配置文件
mkdir -p /data/music/compose
cd /data/music/compose
vim docker-compose.yml
写入以下内容,部分内容需要自行更改
version: "3"
services:
navidrome:
image: deluan/navidrome:latest
ports:
- "127.0.0.1:4533:4533"
environment:
# Optional: put your config options customization here. Examples(这些都是可选的):
ND_SCANSCHEDULE: 1m
ND_LASTFM_ENABLED:
ND_LASTFM_APIKEY: 86e0b415978bc46 # 修改成自己的APIKEY
ND_LASTFM_SECRET: 9a9aec5e5be48f23 # 修改成自己的SECRET
ND_SPOTIFY_ID: eb662a6a878c1ec # 修改成自己的ID
ND_SPOTIFY_SECRET: 5e8941a05b2e3267d6 # 修改成自己的SECRET
ND_LASTFM_LANGUAGE: zh
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
ND_ENABLETRANSCODINGCONFIG: "true"
ND_TRANSCODINGCACHESIZE: "4000M"
ND_IMAGECACHESIZE: "1000M"
volumes:
- "./data:/data"
- "/data/music:/music:ro" # 冒号左边修改成自己本地的音乐文件夹路径
miniserve:
image: svenstaro/miniserve:latest
depends_on:
- navidrome
ports:
- "4534:8080"
volumes:
- "/data/music:/downloads" # 冒号左边修改成自己本地的音乐文件夹路径
command: "-r -z -u -q -p 8080 -a Chitanda:Oreki /downloads" # Chitanda:Oreki 修改成自己的账号:密码
restart: unless-stopped
其中lashfm和Spotify为外部api,可调用专辑和歌手信息,可选择是否启用,如不启用请删除(该两项服务均不面向中国大陆服务,大陆服务器部署建议删除有关参数)
如不需要可以使用这个配置
version: "3"
services:
navidrome:
image: deluan/navidrome:latest
ports:
- "127.0.0.1:4533:4533"
environment:
# Optional: put your config options customization here. Examples(这些都是可选的):
ND_SCANSCHEDULE: 1m
ND_LASTFM_LANGUAGE: zh
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
ND_ENABLETRANSCODINGCONFIG: "true"
ND_TRANSCODINGCACHESIZE: "4000M"
ND_IMAGECACHESIZE: "1000M"
volumes:
- "./data:/data"
- "/data/music:/music:ro" # 冒号左边修改成自己本地的音乐文件夹路径
miniserve:
image: svenstaro/miniserve:latest
depends_on:
- navidrome
ports:
- "4534:8080"
volumes:
- "/data/music:/downloads" # 冒号左边修改成自己本地的音乐文件夹路径
command: "-r -z -u -q -p 8080 -a Chitanda:Oreki /downloads" # Chitanda:Oreki 修改成自己的账号:密码
restart: unless-stopped
Lashfm api创建
访问Lashfm api官网创建api。
获取API Key 和 Shared Secret ID,填入docker compose配置文件
Spotify api创建
访问spotify官网创建api。
获取Client ID 和 Client Secret,填入docker compose配置文件。
纯文字api创建教程看不懂可以访问Navidrome官网阅读官方写的图文教程,为缩短篇幅,本处不再详细介绍api创建。
启动Navidrome音乐服
docker-compose up -d
反代Navidrome音乐服
#PROXY-START/
location ^~ /
{
proxy_pass http://127.0.0.1:4533;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_http_version 1.1;
# proxy_hide_header Upgrade;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_filemTH5IpAC 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_filemTH5IpAC 1;
expires 1m;
}
if ( $static_filemTH5IpAC = 0 )
{
add_header Cache-Control no-cache;
}
}
#PROXY-END/
配置Navidrome音乐服
登录并进入后台

设置中文

开启Lashfm

搜集并上传音乐
搜集途径提示:某酷音乐破解版、F12抓去、APP抓包、公开分享网站下载。
推荐一个下载网站:my free mp3,在此感谢该站站长的无私奉献。
下载后,上传至/data/music文件夹下,如果你修改了前面docker的路径,这里上传至你设定的路径。 上传后,等待几秒,Navidrome会自动加载,此时字幕、封面均没有,这时就要对音乐刮削了。
刮削音乐
本步骤使用Music Tag Web进行刮削。
部署Music Tag Web
mkdir -p /data/music_config
docker run -d -p 127.0.0.1:8002:8002 -v /data/music:/app/media -v /data/music_config:/app/data --restart=always xhongc/music_tag_web:latest
docker拉取后,自行反代访问。
编辑音乐
手动刮削
点击左侧音乐列表,选中目标音乐,手动输入、上传元数据。

自动刮削
多选歌曲,点击自动刮削。

至此,Navidrome音乐服的搭建和音乐上传、刮削均已完成。
从Navidrome界面来看确实不算美观,并且不适合手机使用,综上本文推荐友友使用音流这款app搭配Navidrome音乐服。
导入Navidrome到音流
音流专注于音乐. 支持常见的音乐服务,让您可以通过一个客户端访问多种音乐服务。 跨平台支持. 可在Android、iOS、macOS 和Windows 上使用,并提供与平台一致的体验。
下载并安装音流
访问官网安装音流。
导入Navidrome数据
选择Navidrome

输入地址及账号密码

至此导入完毕,如未进行音乐刮削-挂在歌词、专辑封面,播放音乐后是没有歌词和封面显示的,这是就需要使用LrcApi。
搭建并使用LrcApi
如可以自行刮削,可以不部署LrcApi。
Docker部署
docker run -d \
-p 127.0.0.1:28883:28883 \
-v /home/user/music:/music \
-e API_AUTH=自定义一个鉴权key \
hisatri/lrcapi:latest
部署后,自行反代。
导入LrcApi至音流APP
点击自定义API,输入地址、密钥

至此,音乐服搭建及使用已经正式完结,Enjoy your music server。
麻烦。 花钱解决。
好文,点赞加鸡腿,博客ip+1
@Helllo-Over #1 这都嚼碎喂嘴里了,还麻烦?
有没有网盘版的使用方法
感谢分享,鸡腿奉上
加鸡腿,点赞收藏
好好好,我喜欢听歌
搭建不难,难的是没有资源
bd
好文,但是听个歌整这些太麻烦了。