個人音楽サイトの構築

📢 この記事は ChatGPT によって翻訳されました

Rclone を使って OneDrive 上の音楽ファイルをマウントし、Navidrome を使って音楽サイトを構築。Docker でデプロイする。

Rclone

まずは Windows 環境で設定ファイルを取得して、サーバー側でインストールとマウントを行う。

Token の取得

Windows 向け Rclone をダウンロード:
https://rclone.org/downloads/

解凍後、cmd でそのフォルダに入り、以下のコマンドを実行:

1
rclone.exe authorize "onedrive"

ブラウザでログインして認証完了すると、Token が出力される。 この Token(中括弧ごと)を控えておく。

設定ファイルの取得

次に以下のコマンドでインタラクティブ設定を行う:

1
rclone.exe config

手順に従って設定すると、設定ファイルが以下に生成される:

1
C:\Users\%USERNAME%\AppData\Roaming\rclone

設定ファイルをコピー

サーバー側に以下のディレクトリを作成:

1
2
3
4
# 設定ファイル格納用
/home/docker/rclone/config
# OneDrive をマウントするローカルフォルダ
/home/docker/rclone/data

作成した設定ファイルを上記フォルダに配置。

ディレクトリをマウント

Rclone の Docker イメージを取得:

1
docker pull rclone/rclone:latest

以下のコマンドでマウント:

1
2
3
4
5
6
7
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 &

& はバックグラウンド実行。PID が表示されるので、停止したいときは:

1
kill PID

補足: Linux 学習 第六章 管理运行中的进程

例では OneDrive 上の music フォルダを /home/docker/rclone/data/music にマウントしている。


参考リンク:


Docker Compose を使用。まず以下のディレクトリを作成:

1
/home/docker/navidrome

docker-compose.yml を作成して、以下の内容を記入:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
version: "3"
services:
  navidrome:
    image: deluan/navidrome:latest
    ports:
      - "8001:4533"
    restart: unless-stopped
    environment:
      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

デプロイ:

1
docker-compose up -d

アクセスは IP:8001 で。


参考:


楽曲情報の管理

曲を分類したいなら、メタ情報(タグや歌詞)を埋め込んでおく必要がある。

おすすめの編集ツール:

クライアントアプリで聴く

Web UI は PC だと使えるけど、スマホだとちょっと微妙…

幸いにも Navidrome に対応したクライアントアプリがいくつか存在する:

詳細は公式ページへ: https://www.navidrome.org/docs/overview/#apps

This post is licensed under CC BY-NC-SA 4.0 by the author.

Visits Since 2025-02-28

Hugo で構築されています。 | テーマ StackJimmy によって設計されています。