コミュニティソリューション

ZimaOS上のImmichに外部フォトライブラリを追加する

A ZimaOS user wanted Immich to recognize photos already stored on another drive. The confirmed community solution was to mount that host folder into immich-server and then add the container-side path as an Immich External Library.

別の HDD または SSD にすでに写真があり、それらを Immich の通常のアップロードライブラリへ移動せずに ZimaOS 上の Immich でインデックス化したい場合は、External Library を使用してください。2024年10月のコミュニティスレッドでは、まず ZimaOS のホストフォルダーを immich-server コンテナに公開し、その後 Immich の管理画面で対応するコンテナ側のパスを追加する、このワークフローが確認されています。

これは、Immich のプライマリアップロードストレージを変更することとは異なります。同じスレッドの後の返信では、外部ディスクを今後のすべての Immich アップロードの唯一の保存場所にできるか尋ねていましたが、その質問は原典スレッドでは解決されませんでした。現在の Immich ドキュメントでは、既存ファイルには External Libraries を使用し、 UPLOAD_LOCATIONImmich が管理するアップロード用のカスタムストレージパス

原典スレッドで実際に解決されたこと

原作者は、デフォルトの保存場所の外部にある写真を Immich に認識させようとしていました。その後、次の手順で成功したと報告しています。

  1. ZimaOS で Immich の設定を開きます。
  2. immich-server サービスを開きます。
  3. ZimaOS のホストフォルダーを Docker ボリュームとして追加します。
  4. 次のようなコンテナ側のパスを使用します。 /home/user/photos1.
  5. Immich の管理画面を開きます。
  6. External Library を作成し、同じコンテナ側のパスを追加します。

後のユーザーが、この解決策が自分の環境で機能したことを明確に確認しています。

ホストパスと Immich パスは異なる

Docker のマッピング概念は次のとおりです。

ZimaOS ホストフォルダー → Immich コンテナフォルダー

例:

/media/Photos:/home/user/photos1:ro

Immich は ZimaOS のホストパスを直接スキャンしません。スキャンできるのは、コンテナ内から見えるパスだけです。

/home/user/photos1

既存の写真アーカイブには読み取り専用モードを使用する

元のコミュニティによる解決策では、次を使用していました。 :ro。Immich がファイルのインデックス作成だけを行う場合、現在の Immich ドキュメントでも読み取り専用マウントが推奨されています。

/media/Photos:/home/user/photos1:ro

読み取り専用モードを使用すると、Immich がファイルを削除したり、ソースフォルダーにサイドカーメタデータを書き込んだりするのを防げます。

現在の Immich External Library ドキュメント

Immich で External Library を作成する

マウントが作成されたら、管理者アカウントで Immich を開き、External Libraries セクションに移動します。ライブラリを作成し、所有者を選択して、コンテナ内のパスを追加します。

/home/user/photos1

続いてスキャンを実行します。Immich は写真のインデックス作成と、サムネイルおよびメタデータのジョブ作成を開始するはずです。

コンテナ内にパスが存在することを確認する

Immich がライブラリパスを拒否する場合は、マウントが次の場所から見えることを確認してください。 immich-server。原典スレッドの核心的な問題は、Immich の UI でフォルダーを選ぶことだけではありませんでした。Docker がまず、そのフォルダーをコンテナ内に公開する必要がありました。

現在の Immich ドキュメントでは、同じ要件が明記されています。マウントしたパスは、External Library として追加する前にコンテナ内に存在していなければなりません。

過去の Database タブの手順を盲目的にコピーしない

2024年の原典投稿では、Immich Database タブにも同じパスを追加するよう記載されていました。この手順は、現在では慎重に扱うべきです。

現在の上流版 Immich では、次のように分かれています。

  • UPLOAD_LOCATION または外部ライブラリのバインドマウントを通じた写真/動画ストレージ
  • PostgreSQLデータベースストレージDB_DATA_LOCATION)経由

データベースの場所は、フォトライブラリの場所と同じではありません。以前のZimaOSパッケージに「Database」サービスのタブがあったからといって、任意の写真フォルダーをPostgreSQLにマッピングしないでください。

外部ライブラリとImmichのプライマリストレージの違い

目的 次を使用します
別の場所にすでに保存されている写真をインデックスする 外部ライブラリ
今後のImmichへのアップロードを別のドライブに保存する Immichのアップロード/ストレージ場所を変更する

元のスレッドで確認されたのは1つ目のケースであり、2つ目ではありません。

外部ドライブをImmichのメインストレージにしたい場合

現在のImmich Docker Composeでは、次を使用します。

UPLOAD_LOCATION=./library

そして、そのホストパスを次にマウントします /data 内部 immich-server。現在のカスタムロケーションに関するドキュメントでは、想定されるコンテナパスを維持しながら、Immichが管理するデータを別のホストストレージ場所へ移動する方法を説明しています。

Immichのカスタムストレージ場所

Immichに重要な写真がすでに存在する場合は、プライマリストレージの場所を変更する前に、データベースとファイルシステムの両方をバックアップしてください。

データベースの要件と写真ストレージを分けて考える

PostgreSQLデータベースには写真ファイルとは異なるストレージ要件があります。現在のImmichドキュメントでは、データベースパスでネットワーク共有はサポートされておらず、データベースには適切なローカルファイルシステムを使用する必要があると説明されています。

外部フォトライブラリを追加するだけの理由でPostgreSQLを移動しないでください。

外部ライブラリにも個別のバックアップが必要です

Immichは、外部ライブラリのアセットの元データを通常の管理対象ストレージにコピーしません。元データは外部ディスクに残ります。ディスク上のファイルが削除されると、再スキャン後にImmichがそれらを欠落としてマークしたり、アクティブなライブラリから削除したりする場合があります。

ソースドライブは個別にバックアップしてください。Immichのデータベースメタデータは、ファイルシステムのバックアップの代わりにはなりません。

ZimaOS上のImmich外部ライブラリチェックリスト

  1. 写真が入っている既存のZimaOSホストフォルダーを特定します。
  2. 現在のImmichアプリ/コンテナの設定を開きます。
  3. ホストフォルダーをマウントします immich-server.
  4. 次を推奨します :ro Immichが変更すべきでないアーカイブ用です。
  5. 次のような分かりやすいコンテナパスを使用します /home/user/photos1 または /mnt/media/photos.
  6. Immichの管理画面 → 外部ライブラリを開きます。
  7. コンテナ側の正確なパスを追加してください。
  8. ライブラリスキャンを実行します。
  9. これをImmichのプライマリストレージの移動と混同しないでください UPLOAD_LOCATION.
  10. 外部ドライブは別途バックアップしてください。

Immich外部ストレージに関するよくある質問

元の解決策は機能しましたか?

はい。元の投稿者が成功したと報告しており、後日、別のユーザーも同じワークフローが自分の環境で機能したと確認しています。

外部ライブラリを使用すると、外部ドライブがImmichのメインアップロード先になりますか?

いいえ。外部ライブラリは、Immichの管理対象アップロードストレージの外部にすでに存在するファイルをインデックスします。

Immichにはどのパスを入力すればよいですか?

ZimaOSホストのパスではなく、Dockerのマウントで指定したコンテナ側のパスを使用してください。

はい。外部フォルダーがImmichによる読み取り専用のアーカイブである場合はそうしてください。Immichがそこにあるファイルを変更または削除する意図がある場合のみ、読み取り専用モードを解除してください。