📢 本文由 gemini-3-flash-preview 翻譯
使用 Rclone 掛載 Onedrive 歌曲檔案,Navidrome 搭建網站,採用 docker 部署
Rclone
首先需要在 Windows 系統上執行並取得設定,然後再在伺服器上安裝並掛載檔案
取得 Token
在 Windows 電腦上下載 Rclone,下載地址:
https://rclone.org/downloads/
下載完成後解壓縮,解壓縮完成後透過 cmd 進入該資料夾,然後執行
1
| rclone.exe authorize "onedrive"
|
在彈出的瀏覽器中登入並授權,授權完成後會顯示 Token (大括號之間的,包括大括號)
取得設定檔
執行指令
根據需求選擇即可,完成後設定檔生成在:
1
| C:\Users\%USERNAME%\AppData\Roaming\rclone
|
複製設定檔
首先需要在伺服器建立兩個資料夾
1
2
3
4
| # 該資料夾放設定檔
/home/docker/rclone/config
# 該資料夾放資料,即 Onedrive 映射到的資料夾
/home/docker/rclone/data
|
然後將設定檔放到對應的資料夾
掛載目錄
執行指令以拉取映像檔
1
| docker pull rclone/rclone:latest
|
掛載目錄
1
2
3
4
5
6
7
8
9
10
11
12
| docker run --rm \
--volume /root/rclone/config:/config/rclone \
--volume /root/rclone/data:/data:shared \
--volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro \
--device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \
rclone/rclone \
mount music:/ /data/music --allow-other --allow-non-empty --vfs-cache-mode writes &
# 上述指令僅最後一行為 Rclone 的指令,根據實際情況修改,格式如下
rclone mount DriveName:Folder LocalFolder
# DriveName Rclone 掛載的名稱
# Folder 雲端硬碟的路徑
# LocalFolder 掛載到本地的檔案
|
上述指令最後的 & 表示背景執行,指令執行後會顯示程序的 PID,如需關閉請使用指令
了解更多?請造訪:
Linux 學習 第六章 管理執行中的程序
根據範例,此處示範將 Onedrive 中 music (不區分大小寫) 目錄掛載至 /home/docker/rclone/data/music
參考資料:
部署 Navidrome
採用 docker-compose,首先建立資料夾,例如
建立檔案 docker-compose.yml 並填入內容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| vim docker-compose.yml
# 輸入內容
version: "3"
services:
navidrome:
image: deluan/navidrome:latest
ports:
- "8001:4533"
restart: unless-stopped
environment:
# Optional: put your config options customization here. Examples:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
volumes:
- "/home/docker/navidrome/data:/data"
- "/home/docker/rclone/data/music:/music:ro"
|
查看更多變數:
Navidrome Configuration Options - Navidrome
然後執行指令
存取 IP:8001 即可
參考資料:
歌曲資訊
若要進行歌曲分類,需要將歌曲的資訊嵌入歌曲中,包括歌詞
可以使用工具 MusicTag 進行修改
作者網站:
音樂標籤pc版
當然還有其他的工具,或者這個 Web 版
xhongc/music-tag-web
使用用戶端
這個網頁端在 PC 上使用還行,但在手機上使用一言難盡,不過好在有一些用戶端可以使用
詳情請造訪:
https://www.navidrome.org/docs/overview/#apps