本地部署Navidrome個人云音樂平臺隨時隨地暢聽本地音樂文件

文章目錄

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

前言

今天我要給大家安利一個超酷的私有化音樂神器——Navidrome!它不僅讓你隨時隨地暢享本地音樂,還能讓你在忙碌的工作生活中找到一片屬于自己的小天地。如果你已經厭倦了那些千篇一律的在線音樂平臺,渴望擁有一個完全個性化的音樂空間,那么這篇教程絕對是你不可錯過的秘密武器!

Navidrome是一款全能、開源且支持多平臺的音樂服務器應用程序,無論是macOS、Linux、Windows還是Docker,它都能輕松駕馭。無論你是MP3、FLAC還是WAV的忠實粉絲,Navidrome都能完美支持。通過簡潔直觀的Web界面或強大的API,你可以隨心所欲地管理和訪問你的音樂庫。

接下來,讓我們一起走進這個神奇的世界,手把手教你如何在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

現在你已經成功地將Navidrome和cpolar結合在一起,打造了一個屬于你自己的私有化音樂云。現在,無論是身處喧囂的都市還是寧靜的鄉村,只需輕輕一點,就能瞬間進入你的音樂世界。希望這篇文章不僅能幫助你在忙碌的工作生活中找到一絲寧靜,還能讓你在朋友面前大顯身手,成為那個最酷的音樂達人!如果你覺得這個教程對你有幫助,別忘了分享給更多的人,讓我們一起享受音樂帶來的無限樂趣吧!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/71890.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/71890.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/71890.shtml

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

相關文章

C++ 中的RAII(資源獲取及初始化)

C 中的RAII(資源獲取即初始化) RAII(Resource Acquisition Is Initialization)是C中一種重要的編程范式,全稱為“資源獲取即初始化”。它是一種通過對象生命周期管理資源(如內存、文件句柄、網絡連接等)的技術&#x…

藍橋杯嵌入式組第七屆省賽題目解析+STM32G431RBT6實現源碼

文章目錄 1.題目解析1.1 分而治之,藕斷絲連1.2 模塊化思維導圖1.3 模塊解析1.3.1 KEY模塊1.3.2 ADC模塊1.3.3 IIC模塊1.3.4 UART模塊1.3.5 LCD模塊1.3.6 LED模塊1.3.7 TIM模塊 2.源碼3.第七屆題目 前言:STM32G431RBT6實現嵌入式組第七屆題目解析源碼&…

DeepSeek技術名詞全解析:一場屬于中國AI的“覺醒時刻”

在2025年的人工智能浪潮中,一個名為DeepSeek的中國團隊,用一系列技術突破改寫了全球AI競爭的敘事。從“頓悟時刻”到“群體策略優化”,從“冷啟動”到“長鏈思考”,這些晦澀的技術術語背后,是一場關乎人類智能邊界的革…

【Go語言圣經1.1】

目標 學習Go 的編譯方式、包的組織方式以及工具鏈的統一調用方式 概念與定義 package Go 語言通過包來組織代碼。包類似于其它語言的庫librarries或模塊modules,每個包通常對應一個目錄,目錄中的所有 .go 文件都屬于同一個包。特殊的 main 包 : 當代碼…

主流大語言模型中Token的生成過程本質是串行的

主流大語言模型中Token的生成過程本質是串行的 flyfish 1. 串行生成 自回歸模型的核心邏輯: 大模型(如GPT-2)采用自回歸架構,每個Token的生成必須基于已生成的完整歷史序列。例如,生成“今天天氣很好”時&#xff1a…

基于PySide6的CATIA零件自動化著色工具開發實踐

引言 在汽車及航空制造領域,CATIA作為核心的CAD設計軟件,其二次開發能力對提升設計效率具有重要意義。本文介紹一種基于Python的CATIA零件著色工具開發方案,通過PySide6實現GUI交互,結合COM接口操作實現零件著色自動化。該方案成…

Python——計算機網絡

一.ip 1.ip的定義 IP是“Internet Protocol”的縮寫,即“互聯網協議”。它是用于計算機網絡通信的基礎協議之一,屬于TCP/IP協議族中的網絡層協議。IP協議的主要功能是負責將數據包從源主機傳輸到目標主機,并確保數據能夠在復雜的網絡環境中正…

Python實例:PyMuPDF實現PDF翻譯,英文翻譯為中文,并按段落創建中文PDF

基于PyMuPDF與百度翻譯的PDF翻譯處理系統開發:中文亂碼解決方案與自動化排版實踐 一 、功能預覽:將英文翻譯為中文后創建的PDF 二、完整代碼 from reportlab.lib.pagesizes import letter from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle

xunruicms失敗次數已達到5次,已被禁止登錄怎么處理?

針對遇到的“xunruicms失敗次數已達到5次,已被禁止登錄”的問題以下是幾種處理方法: 開啟開發者模式: 您可以開啟開發者模式來忽略賬號的禁止登錄限制。具體操作步驟如下: 訪問迅睿CMS的官方文檔,找到如何開啟開發者模…

復現 MODEST 機器人抓取透明物體 單目 ICRA 2025

MODEST 單目透明物體抓取算法,來自ICRA 2025,本文分享它的復現過程。 輸入單個視角的RGB圖像,模型需要同時處理深度和分割任務,輸出透明物體的分割結果和場景深度預測。 論文地址:Monocular Depth Estimation and Se…

新手學習爬蟲的案例

首先你的電腦上肯定已經安裝了python,沒安裝的去官網安裝,我使用的是Pycharm作為操作的IDE 環境準備 安裝必要的庫 爬蟲需要用到requests和beautifulsoup4 使用命令行或者終端運行下面的命令 pip install requests beautifulsoup4 -i https://mirrors.aliyun.com/pypi/sim…

Octave3D 關卡設計插件

課程參考鏈接 這位大佬有在視頻合集中有詳細的講解,個人體驗過,感覺功能很強大 https://www.bilibili.com/video/BV1Kq4y1C72P/?share_sourcecopy_web&vd_source0a41d8122353e3e841ae0a39908c2181 Prefab資源管理 第一步 在場景中創建一個空物體…

【Transformer優化】Transformer的局限在哪?

自2017年Transformer橫空出世以來,它幾乎重寫了自然語言處理的規則。但當我們在享受其驚人的并行計算能力和表征能力時,是否真正理解了它的局限性?本文將深入探討在復雜度之外被忽視的五大核心缺陷,并試圖在數學維度揭示其本質。 …

SpringBoot(一)--搭建架構5種方法

目錄 一、?Idea從spring官網下載打開 2021版本idea 1.打開創建項目 2.修改pom.xml文件里的版本號 2017版本idea 二、從spring官網下載再用idea打開 三、Idea從阿里云的官網下載打開 ?編輯 四、Maven項目改造成springboot項目 五、從阿里云官網下載再用idea打開 Spri…

Python爬蟲實戰:一鍵采集電商數據,掌握市場動態!

電商數據分析是個香餑餑,可市面上的數據采集工具要不貴得嚇人,要不就是各種廣告彈窗。干脆自己動手寫個爬蟲,想抓啥抓啥,還能學點技術。今天咱聊聊怎么用Python寫個簡單的電商數據爬蟲。 打好基礎:搞定請求頭 別看爬蟲…

樂鑫打造全球首款 PSA Certified Level 2 RISC-V 芯片

樂鑫科技 (688018.SH) 榮幸宣布 ESP32-C6 于 2025 年 2 月 20 日獲得 PSA Certified Level 2 認證。這一重要突破使 ESP32-C6 成為全球首款基于 RISC-V 架構獲此認證的芯片,體現了樂鑫致力于為全球客戶提供安全可靠、性能卓越的物聯網解決方案的堅定承諾。 PSA 安全…

圖像滑塊對比功能的開發記錄

背景介紹 最近,公司需要開發一款在線圖像壓縮工具,其中的一個關鍵功能是讓用戶直觀地比較壓縮前后的圖像效果。因此,我們設計了一個對比組件,它允許用戶通過拖動滑塊,動態調整兩張圖像的顯示區域,從而清晰…

tcc編譯器教程2 編譯lua解釋器

本文主要介紹了使用tcc編譯器編譯lua解釋器源碼。 1 介紹 lua是一門編程語言,開源且源碼很容易編譯,我平時用來測試C語言編程環境時經常使用。一般能編譯成功就說明編程環境設置正常。下面用之前設置好的tcc編程環境進行測試。 2 獲取源碼 我一般有保留多個版本的lua源碼進…

Unity DOTS從入門到精通之 自定義Authoring類

文章目錄 前言安裝 DOTS 包什么是Authoring1. 實體組件2. Authoring類 前言 DOTS(面向數據的技術堆棧)是一套由 Unity 提供支持的技術,用于提供高性能游戲開發解決方案,特別適合需要處理大量數據的游戲,例如大型開放世…

comctl32!ListView_OnSetItem函數分析LISTSUBITEM結構中的image表示圖標位置

第一部分: BOOL ListView_SetSubItem(LV* plv, const LV_ITEM* plvi) { LISTSUBITEM lsi; BOOL fChanged FALSE; int i; int idpa; HDPA hdpa; if (plvi->mask & ~(LVIF_DI_SETITEM | LVIF_TEXT | LVIF_IMAGE | LVIF_STATE)) { …