Immichは、ZimaOSのシステムドライブが想定している容量をはるかに超えるストレージを消費する可能性があります。特に、スマートフォンからのアップロード、サムネイル、エンコード済み動画、機械学習モデル、PostgreSQLデータベースが増加し始めると顕著です。IceWhale Communityの元のガイドでは、2025年4月にZimaOSのカスタムインストール中に一部のボリュームマッピングを変更し、ImmichのデータをZimaOSドライブではなくRAIDボリュームに保存することで、この問題を解決しました。
この回避策はコンテナの接続構成を理解するうえでは役立ちますが、現在のあらゆる環境に適用できる手順と考えるべきではありません。その後の返信では、インストールの失敗、再起動の繰り返し、PostgreSQLコンテナが正常な状態にならない問題、さらにはマッピングの変更を試した後に写真のアップロードが破損した事例まで報告されています。ZimaOSでは組み込みの移行ツールも追加・改善されており、現在のImmich Docker Composeリリースでは、ホスト側の変数として次のようなものが使用されています UPLOAD_LOCATION および DB_DATA_LOCATION現在のシステムでは、目的に合う場合はまずZimaOSに組み込まれた移行機能を使用し、カスタムのImmichストレージ構成が特に必要な場合に限って手動でボリュームを編集してください。
2025年版ZimaOS Immichガイドで変更された内容
コミュニティのチュートリアルでは、ZimaOSのカスタムインストール、またはインストール後のアプリの設定画面を使用し、サービスの各タブを順に設定していました。目的は、Immichが必要とするコンテナ側のパスを維持したまま、永続的なImmichデータをより大容量のRAID保存先に移すことでした。
データベース:ホスト側のパスを変更し、コンテナ側のパスは維持する
データベースタブで、作成者はZimaOS側の保存場所をRAIDパスに変更し、データベースディレクトリの末尾はそのままにしました。重要なのは、コンテナ内の右側のパスを書き換えないことです。コンテナ側の保存先を変更すると、ImmichのパッケージまたはCompose設定で定義されたパスにデータがあることをPostgreSQLが想定しているため、サービスが壊れる可能性があります。
現在のImmich Docker Composeドキュメントでは、このホスト側の場所を次のように指定しています DB_DATA_LOCATIONImmichは、ネットワーク共有がPostgreSQLデータベースに対応していないことも警告しているため、データベースはSMBやNFS共有ではなく、信頼性の高いローカル接続ストレージに保存してください。
機械学習:必要な場合にのみモデルキャッシュを移動する
元のガイドでは、コンテナ側のキャッシュパスを変更せずに、ホスト側の機械学習モデルキャッシュも別の場所に移しています。このキャッシュを移動すると、小容量のシステムディスクの空き容量を確保できますが、ダウンロードしたモデルは通常再作成できるため、写真ライブラリやデータベースを保護するほど重要ではありません。
Immichサーバー:最も注意が必要なボリュームセクション
執筆者が最も壊しやすいと感じたのがImmichのサーバータブでした。アップロードやその他の永続的なメディアディレクトリがRAIDストレージを参照するよう、追加のホストマッピングが設定されています。スレッドでは、変更するのは意図したホスト側の場所だけにし、コンテナ側のパスは安易に変更しないよう繰り返し強調されています。
元の手順では、Redisタブでストレージを変更する必要はありませんでした。Immichのサービスごとに永続化の要件が異なるため、すべてのボリューム項目に一律に検索と置換を適用すべきでない理由がここにもあります。
現在のシステムでは、まずZimaOSのデータ移行を使用する
後のディスカッションで明らかになった最も重要な更新点は、ZimaOSに専用の移行ワークフローが追加されたことです。スレッド内のIceWhaleチームの返信では、アプリデータを手動でコピーするとエラーが発生する可能性があると明確に警告し、ほとんどの場合は移行機能を使用するよう推奨しています。
現在のZimaOSデータ移行ガイドには、移動可能なストレージカテゴリーとして、Dockerイメージ、Dockerアプリケーションデータ、ユーザーデータベースの3つが記載されています。通常の手順は次のとおりです。
- 設定 > データ移行を開きます。
- 移動するストレージカテゴリーを選択します。
- 場所を変更を選択します。
- 移行先のディスクまたはストレージ領域を選択します。
- 警告を確認して移行を開始し、完了レポートが表示されるまで待ちます。
この組み込みの移行機能は、Docker のアプリケーションデータを ZimaOS のシステムドライブから単に分離したい場合に、より適切な出発点となります。また、手動移行後にパス、権限、シンボリックリンクの整合性が崩れる可能性も減らせます。
Immich を SSD に置き、写真を RAID に保存したい場合は?
スレッド後半の質問では、より実用的な長期レイアウトが提案されました。アプリケーションとパフォーマンスに影響しやすいコンポーネントは SSD に置き、大容量の写真ライブラリは RAID に配置する方法です。元の投稿者はこの分離構成をテストしていなかったため、スレッド自体には、検証済みの ZimaOS 向け手順は記載されていません。
現在の Immich ドキュメントには、適切なレイアウトを定義するのに役立つ2つの概念が示されています。アップロードした Immich メディアについては、公式 Docker Compose 設定で次の場所が使用されます。 UPLOAD_LOCATION メディア保存領域のホストパスとして使用します。既存の写真コレクションを、管理対象のアップロード領域にインポートせず Immich にインデックスさせたい場合、Immich は外部ライブラリに対応しています。
現在の標準的な Immich Compose デプロイでは、関連する環境変数は概念的に次のようになります。
UPLOAD_LOCATION=/path/to/large-media-storage
DB_DATA_LOCATION=/path/to/local-database-storage
これらのパスを、古い ZimaOS アプリ定義にそのまま貼り付けないでください。まず、インストールしている Immich パッケージの正確な Compose 設定またはカスタムインストール設定を確認してください。現在の Immich 公式 Compose ファイルでは、次のマウントが使用されています。 ${UPLOAD_LOCATION} をサーバーコンテナに割り当て、 ${DB_DATA_LOCATION} PostgreSQL 内に配置しますが、古いリリースやコミュニティパッケージでは、異なる内部パスが使用される場合があります。
最新の上流情報については、Immich Docker Compose インストールガイドと、Immich 外部ライブラリガイドを参照してください。
手動でボリュームを変更すると Immich が壊れる理由
ユーザーがストレージのマッピングを変更した後に発生した、いくつかの失敗パターンが返信で示されています。ある参加者は当初、アプリが動かなくなったと報告しましたが、その後、何度か再起動すると動作し始めたと述べています。別のユーザーは、繰り返し試した結果 Immich が壊れ、スマートフォンからアップロードした写真の一部が破損したと述べています。その後の報告では、PostgreSQL サービスが正常でないことに関連するインストール失敗が繰り返し発生したと説明されています。
これらの報告だけでは、単一の共通バグがあるとは証明できません。しかし、ストレージ移行は見た目だけのパス変更ではなく、データ整合性に関わる操作として扱うべき理由は示されています。確認すべき一般的な原因には、次のようなものがあります。
- 誤ったコンテナ内の移行先:ホストパスはカスタマイズできますが、コンテナ内のパスは、そのImmichデプロイメントが想定するパスと一致していなければなりません。
- 権限:移行先は、ファイルを所有するコンテナユーザーまたはサービスが書き込み可能でなければなりません。
- データベースの配置:PostgreSQLには信頼性の高いローカルストレージが必要であり、サポートされていないネットワーク共有に置くべきではありません。
- 不完全な移動:既存のImmichデータツリーの一部だけを手動でコピーすると、データベースとメディアストアの同期が崩れる可能性があります。
- バージョンの不一致:Immichのボリュームレイアウトは変化してきたため、古いパッケージ向けに書かれた手順は、Immich v2、v3、またはそれ以降のZimaOS App Store定義と一致しない場合があります。
より安全なImmichストレージ移行チェックリスト
- ボリュームマッピングを変更する前に、Immichのデータベースと失うと取り戻せないメディアをバックアップしてください。
- 使用しているImmichのバージョンとZimaOS App Storeパッケージを確認してください。
- すべてのアプリデータを移動するのか、それとも大容量のメディアライブラリだけを移動するのかを決めてください。
- ZimaOSの一般的なアプリデータを移動する場合は、個々のコンテナパスを編集する前に、設定 > データ移行を試してください。
- カスタムのImmichレイアウトを使用している場合は、変更前に既存のすべてのホストパスとコンテナの移行先を記録してください。
- 使用しているImmichのバージョンのドキュメントで別のパスが明示的に必要とされていない限り、コンテナ内の移行先は変更しないでください。
- コンテナを再作成する前に、移行先のファイルシステムがマウントされ、書き込み可能であることを確認してください。
- PostgreSQLのデータディレクトリを、サポートされていないネットワーク共有に置かないでください。
- 移行後、少量のテストデータをアップロードし、オリジナル、サムネイル、動画再生、メタデータ、新しいモバイルアップロードが正常に動作することを確認してから、残りのライブラリを移動してください。
- 新しいストレージ上のデータベースとメディアファイルの両方を確認するまで、古いコピーを保持してください。
コミュニティからの返信で元のガイドに加わった内容
最も役立った返信によって、元のチュートリアルの解釈は3つの点で変わりました。第一に、手動マッピングは機能するものの、アプリの正確なバージョン、ストレージ権限、再起動状態に左右されることが示されました。第二に、ユーザーはImmichのすべてのコンポーネントを同じアレイへ移すのではなく、SSDとRAIDを分けた構成を望んでいました。第三に、IceWhaleのチームメンバーは組み込みの移行機能を推奨し、手動コピーではエラーが発生する可能性があると警告しました。
そのため、2025年の元の投稿は、後のすべてのImmichやZimaOSのリリースに適用される固定仕様ではなく、当時の実用的なコミュニティ事例として理解するのが適切です。現在のZimaOSインターフェースに、スクリーンショットに示されたものと同じCustom Installのフィールドが表示されない場合は、古いフィールドを再現しようとせず、現在の移行UIに従い、インストール済みアプリのCompose設定を確認してください。
ZimaOS Immichストレージに関するよくある質問
ZimaOSのシステムドライブではなく、RAIDドライブにImmichをインストールできますか?
はい。ただし、ZimaOSのアプリケーションデータを移動することと、Immichのメディアレイアウトをカスタマイズすることは区別してください。現在のZimaOSバージョンでは、Dockerアプリケーションデータの移動が目的なら、まず組み込みのData Migration機能を使用してください。手動のボリュームマッピングは、意図的にストレージを分割する設計の場合に限定して使用するのが適切です。
Custom Installで右側のImmichボリュームパスを変更すべきですか?
正確なImmichのデプロイ方法に関するドキュメントで指示されていない限り、変更しないでください。元のコミュニティガイドでは、コンテナ側の移行先を維持したまま、ホスト側の場所を変更していました。内部の移行先を書き換えると、サービスが想定しているデータベース、キャッシュ、メディアのディレクトリを見つけられなくなる可能性があります。
ImmichはSSDに置いたまま、写真だけをRAIDに保存できますか?
原則として可能です。現在のImmichでは、ホスト上のアップロード先を選択できるほか、外部ライブラリをマウントすることもできます。ZimaOSでの正確なマッピングは、インストールされているImmichのパッケージとバージョンによって異なるため、パスを変更する前に現在のCompose定義を確認してください。
ストレージの場所を変更すると、なぜPostgreSQLがunhealthyになりますか?
考えられる原因には、マウント先の誤り、権限不足、データベースファイルの不完全な移行、またはサポートされていないストレージがあります。データベースディレクトリ全体が正しく移動されていること、移行先がローカルで書き込み可能であること、コンテナ側の移行先がインストール済みのCompose設定と一致していることを確認してください。
ImmichのAppDataフォルダーを別のディスクにそのままコピーできますか?
それは現在のZimaOSで推奨される方法ではありません。IceWhaleのチームメンバーがスレッド内で、手動コピーはエラーの原因になる可能性があると明確に警告しており、ほとんどのアプリの移動には移行機能を使うよう推奨しています。
2025年4月のスクリーンショットガイドは、今でも最新ですか?
ZimaOSのボリュームマッピングに関する歴史的な説明としては今でも役立ちますが、それ以降、ZimaOSの移行機能とImmichのComposeレイアウトは変更されています。スクリーンショットは当初の設定を確認するための参考として扱い、変更を適用する前に、現在のインストール環境で表示されるフィールドとパスを確認してください。
