Navidrome 添加 Cover Image - 串 Spotify、Last.me

對強迫症的你,至少一點點心中對 Cover 的執著

上次介紹了在我用 Docker 建立的音樂庫串流服務 Navidrome,其實還有幾個小小的東西沒有寫,包含解碼的設定,以及今天要講的主題 - 專輯與音樂人的封面圖片。

P2P 時代的遺毒

記得上大學買了人生第一台 iPod Nano 之後,有種很開心可以把自己有史以來的各種在 Foxy、Firefox、驢子上抓的音樂丟進去的快感,而由於這些歌曲都是來路不明的 MP3 檔案,自然在音樂 tag 上都沒有歌手、專輯,大多時候都是 file name 上的說明做備註,甚至有時候連歌曲名稱都有問題,例如 周杰倫-軌跡周杰倫-unknown-00-軌跡unknown artist-unknown album-00-track01 之後明顯很髒的資料。

當然這些事情在我使用了 itunes 之後有好轉,至少編輯上方便,但大多時候都還是要手動編輯歌曲,或上網找該專輯的圖片自己來丟上去。

在 Navidrome 內添加外部資料庫

在 2025 年,資料的獲得不再像過去那麼複雜了,試想你本來就可以在 Spotify 上獲得某個歌手的介紹、專輯名稱以及 Cover,那要不就直接拉 Spotify 的資料吧!

Navidrome 本身就已經有預設給 Last.me 以及 Spotify 的參數了,相關內容可以參考 官方文件,而以下稍微寫下並記錄我同樣用 docker 配置的過程:

Spotify

Spotify 的原理是你要建立一個 App,每次你的 Token 都是來打這個你已經設定好了 App 去要資料

  1. 先到 https://developer.spotify.com/ 登入後建立 App
  2. 建立 app 後,拿 client_id 與 secret
  3. 記下來,我先假設是這樣
ND_SPOTIFY_ID: spotify_id
ND_SPOTIFY_SECRET: spotify_secret

last.me

其實過程差不多,只是他 UX 引導比較糟,這裡直接給網址吧

  1. 註冊 Last.me
  2. 去 API 頁面建立 Token https://www.last.fm/api/account/create
  3. 把 APIKEY 與 Secret 資料記錄下來
ND_LASTFM_APIKEY: lastfm_api
ND_LASTFM_SECRET: lastfm_secret

Update 到 Navidrome 的 docker compose 上,重啟

去你的 Navidrome 資料夾,編輯 docker-compose.yml 檔案,在 environment 增加以下 內容:

    environment:
        ND_SPOTIFY_ID: spotify_id
        ND_SPOTIFY_SECRET: spotify_secret
        ND_LASTFM_APIKEY: lastfm_api
        ND_LASTFM_SECRET: lastfm_secret

重啟 docker,完成!接著你的 Navidrome 應該會增加大量的 Cover Photo 以及藝人介紹資訊等內容。

comments powered by Disqus