自建云音樂服務器:Navidrome+cpolar讓無損音樂隨身聽

文章目錄

    • 前言
    • 1. 安裝Docker
    • 2. 創建并啟動Navidrome容器
    • 3. 公網遠程訪問本地Navidrome
      • 3.1 內網穿透工具安裝
      • 3.2 創建遠程連接公網地址
      • 3.3 使用固定公網地址遠程訪問

前言

“想聽自己的無損音樂還要開會員?”——音樂發燒友小王的煩惱。商業音樂平臺音質壓縮,收藏的FLAC格式傳不了,想聽自己的歌還要上傳云端。Navidrome與cpolar的組合,像給音樂庫裝"私人電臺",在家用電腦建服務器,手機、汽車、音響隨時訪問,無損音質,完全免費,徹底告別"平臺綁架"。

普通人對音樂的需求簡單:聽自己的歌、音質好、在哪都能聽。但現實總是兩難:本地音樂存電腦,手機出門聽不了;上傳云端怕版權問題,音質還被壓縮。Navidrome解決"聽自己的歌"問題——支持所有格式,FLAC無損播放,自建播放列表,完全掌控音樂庫。配合cpolar后,"在哪都能聽"迎刃而解:在家用音響聽,上班用耳機聽,開車用車載系統聽,所有設備自動同步播放進度,就像專業云音樂服務,音樂卻存在自己硬盤。

設計師小美的經歷典型:"以前收藏的無損音樂分散在各個設備,想聽要插U盤。現在用Navidrome+cpolar,手機隨時訪問家里的音樂庫,音質比流媒體平臺好太多,還不用為老歌開會員。"程序員小李則把它變成家庭共享神器:“把全家人的音樂收藏整合到Navidrome,通過cpolar鏈接共享,爸媽用老年機都能聽我精選的經典老歌,家庭聚會氛圍都變好了。”

接下來,我們將詳細介紹如何在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://www.pswp.cn/pingmian/95862.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/95862.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/95862.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C3P0連接池適配HGDB

文章目錄文檔用途詳細信息文檔用途 講解常用的并且需要與數據庫進行交互的開源框架C3P0,以及C3P0框架是如何適配HGDB的。 詳細信息 1.C3P0概述 C3P0是一個開源的JDBC連接池,它實現了數據源和JNDI綁定,支持JDBC3規范和JDBC2的標準擴展。目…

ZeroGPU Spaces 加速實踐:PyTorch 提前編譯全解析

ZeroGPU 讓任何人都能在 Hugging Face Spaces 中使用強大的 Nvidia H200 硬件,而不需要因為空閑流量而長期占用 GPU。 它高效、靈活,非常適合演示,不過需要注意的是,ZeroGPU 并不能在所有場景下完全發揮 GPU 與 CUDA 棧的全部潛能…

8.ImGui-輸入框

免責聲明:內容僅供學習參考,請合法利用知識,禁止進行違法犯罪活動! 本次游戲沒法給 內容參考于:微塵網絡安全 上一個內容:7.ImGui-單選框和復選框 單行輸入框使用 ImGui::InputText(),下圖中…

2025年- H120-Lc28. 找出字符串中第一個匹配項的下標(數組)--Java版

1.題目2.思路 短的子串相對不變 所以我們用長的字符串去截取in個長度的子串做遍歷 如果兩者相等 返回字符串第一個匹配項的索引的下標 3.代碼實現 class Solution {public int strStr(String haystack, String needle) {int s1haystack.length();int s2needle.length();//遍歷最…

uport1100系列轉接頭,SZ系列光電編碼器RS485通信

安裝uport1100系列轉接頭驅動 :選擇對應自己系統內核版本的驅動。否則爆出系統內核過高過低等問題。 查看系統內核版本指令: uname -r #簡要 uname -a #詳細驅動下載官網: https://www.moxa.com.cn/support/product-support/software-and-…

Java全棧開發面試實戰:從基礎到微服務架構

Java全棧開發面試實戰:從基礎到微服務架構 在一次互聯網大廠的Java全棧開發崗位面試中,一位名叫李明的28歲程序員,擁有計算機科學與技術本科學歷,工作年限為5年。他的主要職責包括設計和實現前后端分離的Web應用、參與微服務架構的…

win10(三)視頻剪裁

上傳一刻相冊,有30M大小限制。這個軟件能免費剪裁視頻而且支持手機的H.265格式,這個格式目前連potplayer都支持不好。但是配合FFmpeg可以檢測并且能按大小(或時間)剪裁,并上傳到一刻相冊上播放。 下載FFmpeg的方法&am…

Linux--線程

Linux線程概念 1 什么是線程 ? 在?個程序?的?個執?路線就叫做線程(thread)。更準確的定義是:線程是“?個進程內部 的控制序列” ? ?切進程?少都有?個執?線程 ? 線程在進程內部運?,本質是在進程地址空間內運? ? 在L…

【C++】C++11的包裝器:function與bind簡介

各位大佬好,我是落羽!一個堅持不斷學習進步的學生。 如果您覺得我的文章還不錯,歡迎多多互三分享交流,一起學習進步! 也歡迎關注我的blog主頁: 落羽的落羽 文章目錄一、function1. 概念2. 用法二、bind1. 概念2. 用法…

MySQL高級特性詳解

MySQL高級特性詳解 一、自關聯查詢 概念 自關聯查詢是指一個表與它自己進行連接的查詢。通常用于處理具有層級關系或遞歸結構的數據。 應用場景 員工與上級關系分類的父子關系地區的層級關系 示例 -- 創建員工表 CREATE TABLE employees (emp_id INT PRIMARY KEY,emp_name VARC…

深度學習——調整學習率

學習率調整方法詳解在深度學習訓練過程中,學習率(Learning Rate, LR) 是影響模型收斂速度和效果的關鍵超參數。學習率過大可能導致訓練不穩定、震蕩甚至無法收斂;學習率過小又會導致收斂過慢甚至陷入局部最優。因此,如…

Java分頁 Element—UI

前端代碼 <div class"block"><span class"demonstration">頁數較少時的效果</span><el-paginationlayout"prev, pager, next":total"50"></el-pagination> </div>參考Element-UI total:0, form: …

html中列表和表格的使用

列表一般來說只有一列一列的進行使用&#xff0c;是一維的列表分為三種列表形式<!-- 列表標簽ul-li:無序列表&#xff0c;必須用 <ul> 當 “容器”&#xff08;代表 “無序列表”&#xff09;&#xff0c;每個條目用 <li> 包起來&#xff08;代表 “列表項”&am…

大學信息查詢平臺:一個現代化的React教育項目

一 項目簡介大學信息查詢平臺是一個基于React Vite Tailwind CSS構建的現代化Web應用&#xff0c;專門用于查詢中國各大高校的詳細信息。該項目不僅功能實用&#xff0c;更在用戶體驗和界面設計上做到了極致。二 核心功能2.1. 智能大學搜索// 搜索功能核心代碼 const searchU…

代碼隨想錄算法訓練營第六天 - 哈希表2 || 454.四數相加II / 383.贖金信 / 15.三數之和 / 18.四數之和

代碼隨想錄算法訓練營第六天 - 哈希表2 || 454.四數相加II / 383.贖金信 / 15.三數之和 / 18.四數之和454.四數相加II解題思路383.贖金信自己解答&#xff1a;代碼隨想錄講解暴力做法哈希表15.三數之和雙指針優化改進18.四數之和自己的解答系統講解454.四數相加II 文檔講解&…

FPGA實現流水式排序算法

該算法采用雙調排序算法&#xff0c;是一種可流水的遞推算法&#xff0c;且算法的消耗時長可算&#xff0c;具體細節參考視頻&#xff1a; https://www.bilibili.com/video/BV1S3thzWEnh/?spm_id_from333.1387.homepage.video_card.click&vd_source69fb997b62efa60ae1add…

平衡車 -- MPU6050

&#x1f308;個人主頁&#xff1a;羽晨同學 &#x1f4ab;個人格言:“成為自己未來的主人~” 傳感器原理 此外&#xff0c;用陀螺儀獲取x,y,z軸的加速度。 初始化 我們現在對MPU6050進行初始化&#xff0c;MPU6050通過I2C總線與單片機進行通信&#xff0c;通過的是PB8和PB…

在電路浪涌測試中,TVS(瞬態電壓抑制二極管)的防護效果確實會受到陪測設備中去耦網絡(Decoupling Network,DN)的顯著影響

在電路浪涌測試中&#xff0c;TVS&#xff08;瞬態電壓抑制二極管&#xff09;的防護效果確實會受到陪測設備中去耦網絡&#xff08;Decoupling Network&#xff0c;DN&#xff09;的顯著影響&#xff0c;這一現象與浪涌能量的傳遞路徑、阻抗匹配及信號完整性密切相關。結合 AD…

Redis之分布式鎖與緩存設計

1、分布式鎖 1.1、超賣問題/*** 存在庫存超賣的不安全問題*/private void deductStock() {int stockTotal Integer.parseInt(stringRedisTemplate.opsForValue().get("stock"));if (stockTotal > 0) { // 這里存在多個線程、進程同時判斷通過&#xff0c;然后超買…

靜態住宅IP的特點

穩定性高&#xff1a;與動態IP地址相比&#xff0c;靜態住宅IP不會不定時變更&#xff0c;能確保業務在網絡環境中的一致性和連貫性&#xff0c;適合需要長期維持同一身份的場景&#xff0c;如跨境電商業務等3。安全性強&#xff1a;由于其住宅屬性&#xff0c;看起來更像是正常…