マウント関係の詳細説明
このドキュメントでは、AMMDS のマウント関係についてわかりやすく説明します。つまり、各フォルダがどのように関連し、データがどのように流れるかです。
ヒント
AMMDS を初めて使う場合は、まずこのドキュメントを読んでマウントの仕組みを理解することをおすすめします。そうすれば、デプロイや使用中にデータを失ったり、設定を間違えたりすることがなくなります。
一、デプロイ時のマウントの仕組み
1. 基本マウント設定
Docker Compose で AMMDS をデプロイする際は、docker-compose.yml ファイルでマウントディレクトリを設定する必要があります:
「マウント」って何? マウントとは、ホストマシン(あなたの PC/サーバー)上のフォルダを、Docker コンテナ(独立した「小箱」)にマッピングして、「小箱」がそのフォルダを読み書きできるようにすることです。USB メモリを PC に挿すと PC が USB メモリのファイルにアクセスできるようになるのと同じです。
volumes:
- ./data:/ammds/data # 現在のディレクトリの data フォルダをコンテナの /ammds/data にマウント
- ./db:/ammds/db # 現在のディレクトリの db フォルダをコンテナの /ammds/db にマウント
- ./download:/data/download # 現在のディレクトリの download フォルダをコンテナの /data/download にマウント
- ./media:/data/media # 現在のディレクトリの media フォルダをコンテナの /data/media にマウント
2. ディレクトリの説明
| ホストマシンのディレクトリ | コンテナのディレクトリ | 用途 |
|---|---|---|
./data | /ammds/data | AMMDS の設定ファイルと一時データを保存 |
./db | /ammds/db | AMMDS のデータベースファイルを保存 |
./download | /data/download | ダウンロードした未整理の動画ファイルを保存 |
./media | /data/media | 整理済みの動画ファイルを保存。Jellyfin などのメディアサーバーが使用 |
3. デプロイマウントの模式図
二、メディア整理のマウントの仕組み
1. 全体アーキテクチャ
2. ホストマシンと AMMDS の関係
ホストマシンの /data/download(未整理の動画を保存)は、Docker のマウント機能により、AMMDS コンテナの /data/download にマッピングされます。これにより、AMMDS はホストマシン上の未整理の動画ファイルを参照し、スクレイピングと整理を行うことができます。
簡単に言うと:
- あなたの PC 上の
/data/download↔ AMMDS から見える/data/download(同じ場所です) - AMMDS が
/data/downloadの動画ファイルをスキャン - スクレイピング整理後、AMMDS は整理済みの動画を
/data/mediaに保存
ヒント
なぜこのようにマウントするのか?
- AMMDS は未整理の動画を読み取ってスクレイピング・整理する必要があるため、
/data/downloadをマウントする必要があります - AMMDS が整理した動画は Jellyfin も見える場所に置く必要があるため、
/data/mediaをマウントする必要があります - こうすることで AMMDS と Jellyfin が同じメディアフォルダを共有でき、動画を 2 重にコピーする必要がありません
- パスを統一することで、管理もすっきりします