当前位置: 首页 > news >正文

内网穿透的应用-Navidrome与cpolar本地搭建跨网络访问的云音乐服务器

文章目录

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

前言

音乐收藏存在平台版权限制、音质压缩和访问不便等问题。Navidrome 开源音乐服务器与 cpolar 内网穿透服务的组合,基于 “本地存储 + 加密穿透” 的架构,可应对这些问题。用户能实现私人音乐库的自由访问与高保真播放。

Navidrome 的高保真播放功能与 cpolar 的穿透能力可协同工作。Navidrome 支持 FLAC 无损格式、播放列表同步、多设备访问等功能,结合 cpolar 后,远程访问能力得到扩展:用户可通过手机流媒体播放,在车载系统同步音乐,出差时用平板离线缓存,且所有操作通过加密通道进行,能避免云端音质损失。

该组合可适配多种场景以满足不同需求,如 HiFi 发烧友搭建无损音乐库,家庭多房间音响系统同步,健身达人进行离线音乐播放等。

以下将详细介绍如何在 Linux 系统中通过 Docker 快速部署,并结合 cpolar 内网穿透工具配置公网地址,以确保在任何地点都能轻松访问音乐库。

image-20240821174243765

1. 安装Docker

本教程操作环境为Linux Ubuntu系统,在开始之前,我们需要先安装Docker。

本例使用Docker Compose部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

2. 创建并启动Navidrome容器

成功拉取镜像后,创建navidrome项目文件夹并编辑docker-compose.yml,内容如下:

version: "3"
services:navidrome:image: deluan/navidrome:latestports:- "4533:4533" #自定义端口restart: unless-stoppedenvironment:ND_SCANSCHEDULE: 1hND_LOGLEVEL: infoND_SESSIONTIMEOUT: 24hND_BASEURL: ""volumes:- "~/Music/data:/data"   #这里的~/Music/data为data数据真实路径- "~/Music:/music:ro"    #这里的~/Music为音乐文件真实路径

保存退出后,执行下方命令启动容器

sudo docker-compose up -d

image-20240822111905554

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

image-20240821175844172

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

image-20240821180156239

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

image-20240822112249164

image-20240822113149405

3. 公网远程访问本地Navidrome

不过我们目前只能在本地访问刚刚使用docker部署的Navidrome音乐服务器,如果出门在外,想要随时远程访问在家中主机上部署的Navidrome听歌,应该怎么办呢?

我们可以使用cpolar内网穿透工具来实现无公网ip环境下的远程访问需求。

3.1 内网穿透工具安装

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

curl https://get.cpolar.sh | sudo sh

image-20240801132238671

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

3.2 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:navidrome 注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:4533
  • 域名类型:随机域名
  • 地区:选择China VIP

image-20240822112759133

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

image-20240822112854795

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

image-20240822113023314

image-20240822113052384

小结

为了方便演示,我们在上边的操作过程中使用了cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问本地搭建的Navidrome听音乐或者其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定的二级子域名方式来远程访问。

3.3 使用固定公网地址远程访问

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称,这里我填写的是mynavid,大家也可以自定义喜欢的名称。

image-20240822113517375

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

image-20240822113646177

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名:mynavid
  • 地区:选择China VIP

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20240822113741401

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

image-20240822113823092

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

image-20240822113954734

image-20240822114024383

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

结尾:Navidrome与cpolar内网穿透服务的技术融合,不仅是音乐工具的创新,更是音乐消费方式的革命。它让用户重新掌控音乐收藏,在享受高保真音质的同时突破访问限制。对于珍视音乐体验的每个人,这种方案提供了可靠、私密、高品质的音乐平台,让每一首珍藏都能随心聆听,每一次播放都纯粹无损。🎧❤️


文章转载自:

http://dmv5Tiiz.ryrpq.cn
http://3zvMX5In.ryrpq.cn
http://hQfWpz7y.ryrpq.cn
http://ei9fePPh.ryrpq.cn
http://xVn7gmpE.ryrpq.cn
http://krI3M6qR.ryrpq.cn
http://pyKxGwP1.ryrpq.cn
http://msYWxeY0.ryrpq.cn
http://N9pqBsmx.ryrpq.cn
http://5l4ojW0L.ryrpq.cn
http://OsTmPWQ4.ryrpq.cn
http://q0mIOCU0.ryrpq.cn
http://IPCl0D0i.ryrpq.cn
http://xnD9E9fM.ryrpq.cn
http://mKXOF4on.ryrpq.cn
http://v735y8pJ.ryrpq.cn
http://oTWR6dM2.ryrpq.cn
http://DnAIpZZo.ryrpq.cn
http://lCkK8H3S.ryrpq.cn
http://GJT6ETGO.ryrpq.cn
http://VFZHqiE5.ryrpq.cn
http://OBJh7GzR.ryrpq.cn
http://zND2Q1wi.ryrpq.cn
http://C5d7xnuP.ryrpq.cn
http://XiyP7wkX.ryrpq.cn
http://lVNaqWBM.ryrpq.cn
http://xn9Ynf6P.ryrpq.cn
http://wrs6kJ2B.ryrpq.cn
http://ULwRc61G.ryrpq.cn
http://dzV8uTqn.ryrpq.cn
http://www.dtcms.com/a/373447.html

相关文章:

  • 金融量化指标--2Alpha 阿尔法
  • Qoder 完整使用指南
  • Coze源码分析-资源库-删除插件-后端源码-数据访问和基础设施层
  • GitHub OAuth 登录实现
  • 容器-资源隔离机制
  • WGAI项目前后端项目简介及首页监控
  • 前端通过后端给的webrtc的链接,在前端展示,并更新实时状态
  • 如何安装 Google 通用的驱动以便使用 ADB 和 Fastboot 调试(Bootloader)设备
  • Vue: 自定义组件和 nextTick
  • Day38 SQLite数据库 C 语言接口
  • 【JobScheduler】Android 后台任务调度的核心组件指南
  • ESD二极管防护方案,怎么做好ESD保护选型?-ASIM阿赛姆
  • 深度学习入门:从神经网络到反向传播
  • 《2025年AI产业发展十大趋势报告》四十五
  • Java 多线程(一)
  • Excel VBA 自动生成文件夹框架
  • 算法日记---滑动窗口
  • 《嵌入式硬件(四):温度传感器DS1820》
  • 动态规划-学习笔记
  • Java分布式锁详解
  • Docker学习笔记(四):网络管理与容器操作
  • 基于MATLAB的FIR和IIR低通带通滤波器实现
  • SpringMVC 程序开发
  • 深入理解 Linux hostname 命令:从日常操作到运维实战
  • SN码追溯技术全景解析:AI时代的数字身份革命
  • AI 小白入门:探索模型上下文协议(MCP)及其前端应用
  • 代码随想录70期day5
  • Vue3源码reactivity响应式篇之reactive响应式对象的track与trigger
  • GitHub高星标项目:基于大数据的心理健康分析系统Hadoop+Spark完整实现
  • Google Guice @Inject、@Inject、@Singleton等注解的用法