快轉到主要內容

雲端音樂播放器Navidrome,自架音樂串流伺服器

分類   Linux系統 Self-hosting自架
標籤   Media Server Last.fm
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

只需要一個Navidrome,給您隨身Spotify的體驗。

Navidrome是一款界面簡單的音樂串流伺服器服務。以網頁界面存取,播放音樂的時候會類比唱片轉動的樣子,我覺得蠻可愛的。

支援在播放時轉碼壓縮音訊,讀取m3u8播放清單,並顯示本機歌詞檔。

由於Navidrome使用Subsonic API,除了網頁界面外,你還可以用支援的手機APP遠端播放音樂,隨時隨地存取個人曲庫。

缺點:Navidrome不支援資料夾模式播放音樂, 官方FAQ明說了不支援沒有演出者訊息的音樂檔案。如果您很在意這一點,建議改用 Gonic by sentriz或者 Jellyfin

1. 架設Navidrome
#

  1. 安裝 Docker

  2. 建立放置資料的目錄

cd ~

mkdir -p navidrome/data

cd nvaidrome
  1. 撰寫Docker-compose,執行vim docker-compose.yml,填入:
version: "3"
services:
  navidrome:
    image: deluan/navidrome:latest
    # Docker volume的擁有者,預設是目前的使用者
    user: 1000:1000
    ports:
      - "4533:4533"
    restart: unless-stopped
    environment:
      # 設定檔維持預設,若要調整請參閱:https://www.navidrome.org/docs/usage/configuration-options/
      ND_SCANSCHEDULE: 1h
      ND_LOGLEVEL: info  
      ND_SESSIONTIMEOUT: 24h
      ND_BASEURL: ""
    volumes:
    # 將設定檔放在docker-compose所在目錄
      - "./data:/data"
    # 冒號左邊是音樂檔所在的目錄
      - "/home/user/Music/:/music:ro"
  1. 啟動容器
docker compose up -d
  1. 容器建立的volume可能有權限問題,參考 這篇Issue提到的作法,修改權限,再重新啟動容器:
# 取得容器ID
docker ps

sudo chown -R 1000:1000 ./data

docker restart <容器ID>
  1. 瀏覽器開啟http://localhost:4533http://電腦區域IP:4533,建立一個管理員帳號

  2. 登入後點選右上角Settings,切換為中文

  3. 可設定要不要在串流的時候給音樂轉碼。例如mp3如果原始檔案音質都是320K的話,建議將預設音質也調成320,免得遭到壓縮。

  4. 雖然Navidrome網頁界面支援讀取ID3歌詞,但是歌詞必須有時間戳才能顯示。

  5. Navidrome不支援以資料夾模式瀏覽音樂,音樂檔必須要有ID3標籤才能分類。但若客戶端請求,Navidrome依然會傳回類似資料夾的結構,分類方式為:「演出者/專輯/歌曲」。

  6. 您還可以參閱 官方說明,將Last.fm和Spotify整合到網頁界面。這樣Navidrome即會用Last.fm爬取本機專輯的更多資料。聆聽紀錄則是可以上傳到ListenBrainz。

2. 安裝手機版Navidrome客戶端
#

如果要用其他裝置連線到Navidrome伺服器,請讓二部裝置在同一個Wifi下,並輸入http://電腦IP:4533連線。

個人覺得Navidrome網頁界面就夠用了,但若要在手機背景播放,請還是找一款支援Subsonic API的客戶端吧。

我測試了一些開源的方案:

電腦端推薦 Feishin

Android推薦 Tempo by CappielloAntonio

iOS推薦 Amperfy by BLeeEZ

3. 從外部網路存取Navidrome
#

  1. 開放防火牆的4533通訊埠:
sudo ufw allow 4533/tcp

sudo ufw reload
  1. 安裝 內網穿透軟體,例如ZeroTier,即可用http://虛擬區域IP:4533網址存取Navidrome的伺服器了。

相關文章

用Stash (stashapp) 整理電腦的A片與色圖收藏吧,還可以串流影片、給圖片上標籤
分類   Linux系統 Self-hosting自架
標籤   Media Server Windows Linux
Suwayomi + Tachidesk教學,架設免費線上看漫畫伺服器,電腦版Tachiyomi
分類   Linux系統 Self-hosting自架
標籤   Media Server Tachiyomi E-Hentai Pixiv Manga
NymphCast,自架開源Chromecast替代品,適用樹莓派
分類   Linux系統 Self-hosting自架
標籤   Raspberry Pi Chromecast Media Server

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。