因為今年又去了一趟大港開唱,也聽了很多樂團的專場,所以瘋狂的收了不少的 CD。畢竟就算把 Spotify 的音質調到最高,整個聽感還是比不上 CD 啊。所以我說那個 Spotify Hi-Fi 還是什麼的講了好幾年了到底要不要推出?(我用不太懂現在有提供無損音檔服務的 KKBOX 和 Apple Music,這是我的問題)
2026-10 Update: 我已經又跳來用 Apple Musc 一陣子了
那,為了整理這些新加入的和原本的 CD,我原本的做法是都會把他們轉成 FLAC 檔案,然後放在 NAS 上用播放軟體開來聽。這樣的操作體驗還滿麻煩的,如果能有一個系統可以幫我管理、又可以讓我在外面隨時可以聽到自己的無損音檔就好了。
於是發現了 Navidrome 這個專案,而且很簡單的用 docker compose 就可以跑起來。然後可以搭配 CloudFlare 的 Zero Trust Application 對外開放,不用開放本機的 port。這不但直接處理掉 HTTPS 憑證的問題、把基本的保護做起來、還可以設定 WAF Rule。
以下是我的 docker-compose.yaml
services:
navidrome:
image: deluan/navidrome:latest
user: 1000:1003 # should be owner of volumes
restart: unless-stopped
environment:
ND_SCANSCHEDULE: 1h
ND_DEFAULTTHEME: "Spotify-ish"
ND_IMAGECACHESIZE: "2048MB"
ND_ENABLEEXTERNALSERVICES: true
ND_LOGLEVEL: info
ND_ENABLEDOWNLOADS: true
ND_SPOTIFY_ID: "xxx"
ND_SPOTIFY_SECRET: "xxx"
ND_LASTFM_ENABLED: true
ND_LASTFM_APIKEY: "xxx"
ND_LASTFM_SECRET: "xxx"
ND_ENABLEGRAVATAR: true
ND_ENABLECOVERANIMATION: false
volumes:
- "./data:/data"
- "./music:/music:ro"
cloudflared:
image: cloudflare/cloudflared:latest
container_name: cloudflared
command: tunnel run music
environment:
- TUNNEL_TOKEN=${TUNNEL_TOKEN}
restart: unless-stopped
- 我有另外串接 Spotify 取得專輯插圖、以及串接 Last.fm 的 API 來做聆聽音樂的記錄。如果你不需要的話這些在
environment裡面的設定可以拿掉。Navidrome 的各項設定可以參考這裡 - 我的
volume是透過autofs用 NFS mount NAS 上的資料夾,然後再建立個. symbolic link 到./music。你也可以不這麼做