写在前面
日常中,我们喜欢听的歌曲也就几十斤几百首,自建音乐服就可以满足日常需求。本教程将从Navidrome搭架、音乐采集、音乐刮削,以及音流导入、搭建歌词api顺序阐述。
本文所有docker配置均仅允许本地访问,即均需使用nginx反代访问。
新手和省事党建议配合宝塔搭建,老手和折腾党随意。
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_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,可调用专辑和歌手信息,可选择是否启用,如不启用请删除(该两项服务均不面向中国大陆服务,大陆服务器部署建议删除有关参数)
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
Docker部署
docker run -d \
-p 127.0.0.1:28883:28883 \
-v /home/user/music:/music \
hisatri/lrcapi:1.5.2
部署后,自行反代。
导入LrcApi至音流APP
点击自定义API,输入地址、密钥
至此,音乐服搭建及使用已经正式完结,Enjoy your music server。
Comments NOTHING