现在的听歌环境是越来越难了,虽然缙哥哥有多个音乐平台的会员,但是音乐版权却分散在各个平台,不是这首歌灰色就是那首歌灰色,总不可能为了一首歌再去切换平台听吧?
曾经想过如下方案,供借鉴:
- 方案一:下载音乐到本地,通过 OneDrive 等同步盘进行多终端同步。
- 方案二:下载并上传音乐到网易云音乐网盘,通过私人网盘无限制播放音乐。
扩展阅读
- 《尝试使用微软Windows10系统自带的音乐播放器Groove》
- 《经典、纯净、功能强大的音乐播放器:千千静听5.0.1版本》
- 《单纯听音乐而已,千千静听 v5.7.9 绿色版(支持歌词匹配)》
- 《教程:网易云音乐如何免费听需要会员或无版权的音乐》

这两个方案也是目前缙哥哥都在使用的,但是方案一适合电脑上播放,还需要配合音乐播放器;而方案二一开始还挺好用,而现在则逐渐连上传的音乐都会进行云端匹配,要么上传失败、要么替换音乐文件,更甚者直接不予显示(参见《网易云音乐云盘检测用户个人文件,无损音乐听歌转战阿里云盘》)……
所以随着越来越“智能化”的信息时代,在一个什么都在云端,又什么都要自建的年代,音乐服务缙哥哥也决定自己搞定的,只不过这个需求较为小众。如果你需要它,那么这篇文章或许对你有所帮助。
前期准备
- 40G存储、5M带宽以上的云服务器
- 一双眼、一双手、一个脑袋
以上为必备,40G是绝大部分云服务器赠送的空间,一般人这个空间足够存放自己喜欢听的歌曲了,当然,你可以购买更大的空间,或者通过挂载对象存储(内网),挂载云盘来实现自动备份的大空间。5M以上的带宽是为了能够流程的听歌,毕竟现在的歌曲动则10M/20M甚至更大,听听就卡我想这不是你想要的。
现有服务器特价活动 | 活动链接 |
---|---|
阿里云2022年新人福利会场 | >>>戳我直达<<< |
华为云2022双11活动 | >>>戳我直达<<< |
腾讯云2022双11活动 | >>>戳我直达<<< |
亚洲云 AsiaYun 双11活动(7折终身优惠码:dujin70) | >>>戳我直达<<< |
可选准备
- 域名
- CDN(CloudFlare/云盾等)
有域名稍微好记一点,可以免得记 IP 地址,有 CDN 可以缓存音乐文件,让你听歌更加流程。
部署 Navidrome 环境
首先这里建议安装 CentOS 7.6 操作系统,然后部署宝塔控制面板。为啥不直接装 Docker?因为 Navidrome 有专门的音乐上传界面,经过缙哥哥使用测试,对比起宝塔文件管理还是有差距的,那为什么不直接使用宝塔可视化面板呢?
推荐使用宝塔Linux控制面板(站内AD)
你还没开始用?缙哥哥推荐使用宝塔服务器面板,一键全能部署及可视化管理 Linux 服务器,简单快捷! 送你3188元礼包,点我注册领取 https://www.bt.cn/?invite_code=MV91dGp3eGQ= 现在托管 WordPress 专用服务器送宝塔专业版,托管多久送多久,数量有限,有意可联系微信:xyzyysd
宝塔装好后,在软件商店
→运行环境
中安装下Docker 管理器
。

安装 docker-compose
缙哥哥亲测 CentOS 7.6 操作系统是安装了 docker-compose 的,如果你在 ssh 中输入 docker-compose 显示没有安装,就装一下。
设置镜像源
通过 ssh 输入下方代码进行编辑,不理解 Linux 编辑的小伙伴参见《Linux 文本编辑器 Vim “真 · 简单”使用教程》。
vi /etc/docker/daemon.json
写入下面的内容
{ "registry-mirrors": ["https://cq20bk8v.mirror.aliyuncs.com"] }
键盘左上角按esc
键,再输入:wq
保存退出。输入下方指令:
yum install epel-release
yum install python3-pip
pip3 install --upgrade pip
pip3 install docker-compose
若是报错:ModuleNotFoundError: No module named ‘setuptools_rust’
则输入下方指令,若是没有报错可跳过。
pip3 install -U pip setuptools
配置 Navidrome 参数
在宝塔面板菜单栏点击文件进入在线资源管理界面,进入根目录/home
目录,创建music
文件夹,并在该文件夹下分别创建data
和song
文件夹。

同时,在music
文件夹下,创建一个名为docker-compose.yaml
的文件,双击对其进行编辑,并将下方内容复制进去。
version: "3"
services:
navidrome:
container_name: navidrome
image: deluan/navidrome:latest
user: 0:0 #0:0代表用root用户运行
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: ""
ND_ENABLETRANSCODINGCONFIG: "true"
ND_TRANSCODINGCACHESIZE: "4000M"
ND_IMAGECACHESIZE: "1000M"
volumes:
- "/home/music/data:/data"
- "/home/music/song:/music:ro"
miniserve:
image: svenstaro/miniserve:latest
depends_on:
- navidrome
ports:
- "4534:4534"
volumes:
- "/home/music/song:/downloads"
command: "-r -z -u -q -p 4534 -a dujin:www.dujin.org /downloads"
restart: unless-stopped
这里缙哥哥简单对上述参数解释一下,小伙伴们可以根据自己的喜好进行调整修改。
其中4534
端口是上传音乐文件的网页端口,而倒数第二行的dujin
为上传页面的登陆账号,www.dujin.org
为上传页面的登陆密码。
而由于我们使用了宝塔面板,你可以直接将这个端口屏蔽也没有关系。
Navidrome 默认将 song 和 data 文件夹放根目录,缙哥哥将其放入 home 文件夹,你们随意。
可用选项
配置文件中的选项 | 环境变量 | 描述 | 默认值 |
---|---|---|---|
ND_CONFIGFILE | 从外部配置文件加载配置 | "./navidrome.toml" | |
音乐文件夹 | ND_MUSICFOLDER | 存储音乐库的文件夹。可以是只读的 | "./music" |
资料文件夹 | ND_DATAFOLDER | 存储应用程序数据的文件夹(数据库、缓存……) | "./data" |
扫描计划 | ND_SCANSCHEDULE | 使用“cron”语法配置定期扫描。要完全禁用它,请将其设置为”0″ | "@every 1m" |
日志级别 | ND_LOGLEVEL | 日志级别。对故障排除很有用。可能的值:error , warn , info , debug ,trace | "info" |
启用转码配置* | ND_ENABLETRANSCODINGCONFIG | 在 UI 中启用转码配置 | false |
转码缓存大小 | ND_TRANSCODINGCACHESIZE | 转码缓存的大小。设置”0″为禁用缓存 | "100MB" |
图像缓存大小 | ND_IMAGECACHESIZE | 图像(艺术作品)缓存的大小。设置”0″为禁用缓存 | "100MB" |
基本网址 | ND_BASEURL | path 用于在代理后面配置 Navidrome的基本 URL(仅部分)(例如/music :) | Empty |
会话超时 | ND_SESSIONTIMEOUT | Navidrome 在关闭 Web ui 空闲会话之前将等待多长时间 | "24h" |
接着仍旧通过 ssh 进行安装部署,输入:
cd /home/music
docker-compose up -d
设置 Navidrome 后台
打开浏览器,输入ip:4533
,创建用户名和密码。

需要注意的是,这个账号密码是你前端访问的账号密码,也是客户端访问的账号密码。
而上面配置的账号密码是音乐上传页面的账号密码,两者是有区别的。

点击网页右上角头像
→Personal

在Language
中选择简体中文(英语很吊的当我没说)。
打开浏览器,输入ip:4534
,输入docker-compose.yaml
文件末尾预先设置的用户名和密码(如果你没有改动的话,用户名dujin
,密码www.dujin.org
),就可以进入音乐上传页面了。

当我们上传音乐文件之后,点击头像左边的图标(刷新&运行情况)可以快速扫描音乐文件。

个人感觉宝塔的可视化上传更加方便,这也意味着还可以配置宝塔 FTP,甚至挂载网盘来进行扩容、保存、备份你的音乐文件。
扩展阅读
- 《CentOS 系统通过 curlftpfs 挂载 FTP 服务器为本地磁盘》
- 《Linux CentOS 操作系统挂载 WebDAV 为本地磁盘教程》
- 《将日本 TeraCLOUD 网盘通过 WebDAV 挂载到服务器增加空间》
使用 Navidrome 在线听歌
打开浏览器,输入ip:4533
,输入账号密码即可进入 Navidrome 首页。

Navidrome 会自动识别你的音乐文件匹配对应的专辑名称、专辑封面等相关内容,非常方便。

可以根据歌手来进行筛选、统计。

如果你上传音乐的时候把lrc歌词文件也放上去,那么 Navidrome 网页版还会自动匹配并展示歌词,如果没有lrc歌词文件,你可以选择使用 Subsonic 客户端进行播放,也会匹配出歌词。
Navidrome 第三方客户端
Navidrome 除了网页界面,还支持各种第三方客户端:
- iOS: play:Sub, substreamer, Amperfy and iSub
- Android: DSub, Subtracks, substreamer, Ultrasonic and Audinaut
- Web: Subplayer, Airsonic Refix, Aurial, Jamstash and Subfire
- Desktop: Sublime Music (Linux) and Sonixd (Windows/Linux/macOS)
- CLI: Jellycli (Windows/Linux) and STMP (Linux/macOS)
- Connected Speakers:
- Other:
缙哥哥在 Windows 操作系统上使用 Sonixd 客户端,起官方地址为:
- https://github.com/jeffvli/sonixd/releases
无法访问的小伙伴,这里也给你放个网盘链接,分流下载。
下载后解压即可,无需安装,直接运行Sonixd.exe
文件。

这里输入你网页版的ip:4533
,输入账号密码点击Connect
按钮即可。

老规矩,第一件事先设置为中文语言。

那么后面这种中文的可视化界面想必就不用缙哥哥过多介绍了吧,不懂的话随便点。
有了这个啥歌都能听,相当于你自己打造了一个多终端云端音乐平台,再也不用纠结听歌的事情了。当然,还可以跟你“臭味相投”的小伙伴一起听。
到这里有人又问了,Navidrome 部署使用我会了,音乐哪下载?呃,我觉得吧,这玩意你都会了,你应该也不算萌新了,找个音乐资源还能难倒你?实在找不到的试试这个:
用域名的话 直接创建站点,在站点创建data和song文件夹?
请问大佬用的是dux主题吗?我网上下载了 dux 7.0 感觉和大佬的网站完全不一样。这是为什么,求解答
因为你没买正版