文章目录
-
- 前言
- [1. 安装Docker](#1. 安装Docker)
- [2. 创建并启动Navidrome容器](#2. 创建并启动Navidrome容器)
- [3. 公网远程访问本地Navidrome](#3. 公网远程访问本地Navidrome)
-
- [3.1 内网穿透工具安装](#3.1 内网穿透工具安装)
- [3.2 创建远程连接公网地址](#3.2 创建远程连接公网地址)
- [3.3 使用固定公网地址远程访问](#3.3 使用固定公网地址远程访问)
前言
Navidrome 是一款开源的音乐服务器,支持 MP3、FLAC 等多种音频格式,能自动整理音乐库,按专辑、歌手分类,还能通过 Web 界面或手机 APP 访问。适合音乐爱好者搭建私人音乐库,也适合小型团队共享音乐资源。它的优点是占用资源少,跨平台兼容性好,且完全免费开源。
使用 Navidrome 时,要记得把音乐文件放在指定的映射目录,否则服务器扫描不到音乐;首次登录需设置管理员账号,建议用强密码保护。另外,定期备份数据目录,避免误操作导致音乐库丢失。
如果 Navidrome 只在局域网内使用,会有很多不便。比如出门在外想听歌,却无法访问家里的音乐库;朋友想共享你的音乐,因不在同一网络而无法实现;更换网络环境后,还得重新配置局域网访问地址。
当 Navidrome 与 cpolar 结合,这些问题迎刃而解。cpolar 能将本地音乐服务器映射到公网,实现随时随地访问;生成的公网地址可以分享给朋友,轻松实现音乐共享;即使网络环境变化,只要 cpolar 隧道保持运行,访问地址就不会失效,让私人音乐库真正 "随身可用"。

1. 安装Docker
本教程操作环境为Linux Ubuntu系统,在开始之前,我们需要先安装Docker。
本例使用Docker Compose部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程------Linux、Windows、MacOS》
2. 创建并启动Navidrome容器
成功拉取镜像后,创建navidrome项目文件夹并编辑docker-compose.yml,内容如下:
yml
version: "3"
services:
navidrome:
image: deluan/navidrome:latest
ports:
- "4533:4533" #自定义端口
restart: unless-stopped
environment:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
volumes:
- "~/Music/data:/data" #这里的~/Music/data为data数据真实路径
- "~/Music:/music:ro" #这里的~/Music为音乐文件真实路径
保存退出后,执行下方命令启动容器:
shell
sudo docker-compose up -d

启动成功后,在浏览器中输入localhost:4533,可以看到进入到了Navidrome的登录界面,需要设置一个用户名和密码。

登录后,点击界面右上角的头像图标进入个性化,可以设置语言为中文:

Navidrome会自动扫描你存放在上边设置的真实存储路径中的音乐,并自动将歌曲分类为各个专辑的形式展现:


3. 公网远程访问本地Navidrome
不过我们目前只能在本地访问刚刚使用docker部署的Navidrome音乐服务器,如果出门在外,想要随时远程访问在家中主机上部署的Navidrome听歌,应该怎么办呢?
我们可以使用cpolar内网穿透工具来实现无公网ip环境下的远程访问需求。
3.1 内网穿透工具安装
下面是安装cpolar步骤:
Cpolar官网地址: https://www.cpolar.com
使用一键脚本安装命令
shell
curl https://get.cpolar.sh | sudo sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
shell
sudo systemctl status cpolar
Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

3.2 创建远程连接公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理------创建隧道:
- 隧道名称:可自定义,本例使用了:navidrome 注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:4533
- 域名类型:随机域名
- 地区:选择China VIP

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或手机平板(异地)上,使用任意一个地址在浏览器中访问即可。

如下图所示,成功实现使用公网地址异地远程访问本地部署的 Navidrome音乐服务器 !


小结
为了方便演示,我们在上边的操作过程中使用了cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。
如果有长期远程访问本地搭建的Navidrome听音乐或者其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定的二级子域名方式来远程访问。
3.3 使用固定公网地址远程访问
登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称,这里我填写的是mynavid,大家也可以自定义喜欢的名称。

保留成功后复制保留成功的二级子域名的名称:mynavid,返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道Navidrome,点击右侧的编辑:

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名:mynavid
- 地区:选择China VIP
点击更新(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名:

最后,我们使用任意一个固定公网地址在浏览器访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问本地部署的 Navidrome 音乐服务器来听音乐了!


通过 Docker 搭建 Navidrome 并配合 cpolar,轻松拥有了可远程访问的私人云音乐库。这一组合既发挥了 Navidrome 的音乐管理优势,又借助 cpolar 打破了网络限制,让音乐爱好者能随时享受自己的珍藏曲目,是简单又实用的方案。