自建云音乐服务器:Navidrome+cpolar让无损音乐随身听

文章目录

    • 前言
    • [1. 安装Docker](#1. 安装Docker)
    • [2. 创建并启动Navidrome容器](#2. 创建并启动Navidrome容器)
    • [3. 公网远程访问本地Navidrome](#3. 公网远程访问本地Navidrome)
      • [3.1 内网穿透工具安装](#3.1 内网穿透工具安装)
      • [3.2 创建远程连接公网地址](#3.2 创建远程连接公网地址)
      • [3.3 使用固定公网地址远程访问](#3.3 使用固定公网地址远程访问)

前言

"想听自己的无损音乐还要开会员?"------音乐发烧友小王的烦恼。商业音乐平台音质压缩,收藏的FLAC格式传不了,想听自己的歌还要上传云端。Navidrome与cpolar的组合,像给音乐库装"私人电台",在家用电脑建服务器,手机、汽车、音响随时访问,无损音质,完全免费,彻底告别"平台绑架"。

普通人对音乐的需求简单:听自己的歌、音质好、在哪都能听。但现实总是两难:本地音乐存电脑,手机出门听不了;上传云端怕版权问题,音质还被压缩。Navidrome解决"听自己的歌"问题------支持所有格式,FLAC无损播放,自建播放列表,完全掌控音乐库。配合cpolar后,"在哪都能听"迎刃而解:在家用音响听,上班用耳机听,开车用车载系统听,所有设备自动同步播放进度,就像专业云音乐服务,音乐却存在自己硬盘。

设计师小美的经历典型:"以前收藏的无损音乐分散在各个设备,想听要插U盘。现在用Navidrome+cpolar,手机随时访问家里的音乐库,音质比流媒体平台好太多,还不用为老歌开会员。"程序员小李则把它变成家庭共享神器:"把全家人的音乐收藏整合到Navidrome,通过cpolar链接共享,爸妈用老年机都能听我精选的经典老歌,家庭聚会氛围都变好了。"

接下来,我们将详细介绍如何在Linux系统中快速完成Docker部署,并结合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 音乐服务器来听音乐了!

通过在Linux环境中使用Docker快速部署Navidrome,并结合cpolar内网穿透工具配置公网地址,你现在可以随时随地轻松访问你存储的本地音乐库了。希望这篇文章能帮助你在忙碌的工作和生活中找到一丝宁静,享受个性化的听歌体验。

结尾:Navidrome与cpolar内网穿透的组合,不仅是技术工具的创新,更是音乐生活方式的回归。它让我们从商业平台的算法推荐中解放出来,重新发现收藏音乐的乐趣,在保护音质的同时,实现音乐的自由流动。在这个流媒体主导的时代,这种"私人定制"的音乐方案,或许正是我们与音乐最纯粹的连接------让每一首歌都原汁原味,让每一次聆听都随心而至。🎶❤️

相关推荐
Leinwin14 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_8653825014 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇15 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.75915 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
运维小欣15 小时前
智能体选型实战指南
运维·人工智能
yy552715 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ16 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
努力也学不会java17 小时前
【缓存算法】一篇文章带你彻底搞懂面试高频题LRU/LFU
java·数据结构·人工智能·算法·缓存·面试
05大叔18 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密18 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器