Immich 詳解:セルフホスト写真管理の構成、バックアップ、プライバシー境界
モバイル自動バックアップ、REST サービス、Redis ジョブ、PostgreSQL、機械学習サービス、メディア保存、Docker 導入と復旧責任を公式資料から整理する。
位置付けと現在の評価
Immich は写真と動画を扱うセルフホスト型管理システムで、スマートフォンのバックアップ、閲覧、検索、共有、複数ユーザーに重点を置く。取得時点で 108,332 Star、既定ブランチは直近 30 日に約 193 コミット、v3.0.3 は一週間以内の公開だった。単なるギャラリーではなく、クライアント、メディア処理、メタデータ、検索、長期保存を自分の設備へ移す製品である。
利用場面と主要機能
家族のスマートフォン自動バックアップ、共有ライブラリ、位置やメタデータ検索、公開リンク、RAW、Live Photo、動画の集中管理に使える。顔のクラスタリング、CLIP 検索、重複処理、外部ライブラリ、API も備える。ホスト型写真サービスに近い日常操作と、自前設備の管理権を両立できる点が利点だが、稼働率と復旧の責任は管理者へ移る。
構成とデータの流れ
公式設計はクライアント・サーバー型である。Android、iOS、Web、CLI が REST API を呼び、サーバーは PostgreSQL、Redis、機械学習サービス、ファイルシステムへ接続する。Redis はサムネイル、変換、認識などのバックグラウンド処理を運ぶ。PostgreSQL はユーザー、資産パス、メタデータを保存し、原本と生成ファイルはアップロード領域に置く。顔処理の埋め込みもデータベースへ戻り、近傍検索とクラスタリングに使われる。
技術構成とデータ境界
主な言語は TypeScript で、Web は SvelteKit、モバイルは Flutter、サーバーは PostgreSQL と Redis に依存し、機械学習は独立サービスに分かれる。Docker Compose が複数コンテナと永続ボリュームをまとめる。データベースはパスと関係を持つが、メディアフォルダの走査だけで全状態を再構築しない。データベースと原本を一組の復旧対象として扱う必要がある。
最小の導入手順
公式の基本経路は、要件を満たす Linux ホスト上の Docker Compose である。現行の `docker-compose.yml` と `.env` 例を取得し、`UPLOAD_LOCATION`、データベース位置、資格情報を設定して `docker compose up -d` を実行する。最初の管理者を作り、モバイルアプリにサーバー URL を登録する。全写真を入れる前に、TLS、固定ボリューム、容量警告、定期バックアップまで用意したい。
長所、制約、保守負担
利用者向け機能が多く、クライアントも整い、更新頻度が高い。動画変換や機械学習ではハードウェア支援も使える。一方、複数サービスを持ち、更新も速い。変換と認識は CPU、GPU、メモリ、ディスクを消費し、モバイルのバックアップは OS のバックグラウンド制約や回線に左右される。リリースノート、DB 移行、キュー監視、原本と派生ファイルの容量計画が必要だ。