雲端音樂播放器Navidrome,自架音樂串流伺服器
只需要一個Navidrome網頁,給您Spotify的體驗。

Navidrome是一款界面簡單的音樂串流伺服器服務。以網頁界面存取,支援在播放時轉碼壓縮音訊,讀取m3u建立播放清單,並顯示本機歌詞檔。
此外,Navidrome支援Subsonic API,可用支援此API的手機APP播放音樂。
缺點:不支援資料夾模式播放音樂。如果您很在意這一點,建議改用Jellyfin。
安裝Docker
建立放置資料的目錄
1
2
3
4
| cd ~
mkdir navidrome
mkdir navidrome/data
cd nvaidrome
|
- 撰寫Docker-compose,執行
vim docker-compose.yml
,填入:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| version: "3"
services:
navidrome:
image: deluan/navidrome:0.49.2
# Docker volume的擁有者,預設是目前的使用者
user: 1000:1000
ports:
- "4533:4533"
restart: unless-stopped
environment:
# 設定檔維持預設,若要調整請參閱:https://www.navidrome.org/docs/usage/configuration-options/
ND_ENABLETRANSCODINGCONFIG: true
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
volumes:
# 將設定檔放在docker-compose所在目錄
- "./data:/data"
# 冒號左邊是音樂檔所在的目錄
- "/home/user/Music/:/music:ro"
|
- 啟動容器,不需要sudo
- 容器建立的volume可能有權限問題,參考這篇Issue提到的作法,修改權限,再重新啟動容器:
1
2
3
4
5
| # 取得容器ID
docker ps
sudo chown -R 1000:1000 ./data
docker restart <容器ID>
|
瀏覽器開啟http://localhost:4533
,建立一個管理員帳號

登入後Navidrome即會顯示掃描到的專輯。

點選右上角Settings,切換為中文

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

您還可以參閱官方說明,將Last.fm和Spotify整合到網頁界面。這樣Navidrome即會用Last.fm爬取本機專輯的更多資料。
- 開放防火牆的4533通訊埠:
1
2
| sudo ufw allow 4533/tcp
sudo ufw reload
|
安裝內網穿透軟體,例如ZeroTier,即可用http://ZeroTier分配的虛擬IP:4533
網址存取Navidrome的伺服器了。
如果需要播放音樂的手機APP,請看Navidrome官方推薦列表
如果本網站文章對您有幫助,歡迎請我喝杯珍珠奶茶。
留言板
點選按鈕,選擇您覺得方便的留言系統。要討論程式碼請用Giscus,匿名討論請用Disqus。