Rclone を使用して Onedrive の音楽ファイルをマウントし、Navidrome を構築し、Docker を使用してデプロイします。
Rclone#
まず、Windows システムで設定を取得し、その後サーバーにインストールしてファイルをマウントする必要があります。
トークンの取得#
Windows コンピュータで Rclone をダウンロードします。ダウンロードリンク:https://rclone.org/downloads/
ダウンロードが完了したら、解凍します。解凍が完了したら、cmd を使用してそのフォルダに移動し、次のコマンドを実行します。
rclone.exe authorize "onedrive"
表示されるブラウザでログインし、承認します。承認が完了すると、トークン(中括弧で囲まれた部分、中括弧も含む)が表示されます。
設定ファイルの取得#
次のコマンドを実行します。
rclone.exe config
必要に応じて選択し、設定ファイルは次の場所に生成されます。
C:\Users\%USERNAME%\AppData\Roaming\rclone
設定ファイルのコピー#
まず、サーバー上で 2 つのフォルダを作成する必要があります。
# このフォルダに設定ファイルを配置します
/home/docker/rclone/config
# このフォルダにデータを配置します(Onedriveにマップされたフォルダ)
/home/docker/rclone/data
次に、設定ファイルを対応するフォルダに配置します。
ディレクトリのマウント#
次のコマンドを実行してイメージを取得します。
docker pull rclone/rclone:latest
ディレクトリをマウントします。
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 が表示されます。終了する場合は、次のコマンドを使用します。
kill PID
詳細はこちら:Linux 学習 第六章 管理运行中的进程
例に従って、ここでは Onedrive の music
ディレクトリを /home/docker/rclone/data/music
にマウントすることを示します。
参考資料:
- https://rclone.org/onedrive/
- https://rclone.cn/install.html
- Linux 上使用 Rclone 挂载 OneDrive 或 GoogleDrive 并设置开机自启
Navidrome のデプロイ#
docker-compose を使用し、まずフォルダを作成します。例えば、
/home/docker/navidrome
次に、docker-compose.yml
ファイルを作成し、以下の内容を入力します。
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
次に、次のコマンドを実行します。
docker-compose up -d
IP:8001
にアクセスすると、Navidrome にアクセスできます。
参考資料:
曲の情報#
曲を分類するためには、歌詞を含む曲の情報を埋め込む必要があります。
ツール MusicTag を使用して変更することができます。
作者のウェブサイト:音乐标签 pc 版
もちろん、他のツールやこの Web 版 xhongc/music-tag-web もあります。
クライアントの使用#
このウェブクライアントは PC で使用するには適していますが、スマートフォンで使用するには不便です。しかし、いくつかのクライアントを使用することができます。