Immichは、写真と動画をサードパーティのアルバムサービスだけに預けるのではなく、自分のサーバーに保存するセルフホスト型のバックアップサービスである。スマートフォンの自動バックアップ、顔検索と意味検索、共有アルバムなどの機能を備え、近年セルフホスト愛好者の間で注目を集めている。使う価値があるかどうかは、機能の一覧よりも、運用コストを払う意思があるかどうかにかかっている。
どんな問題を解決するのか
スマートフォンの写真が増え続ける中、クラウドアルバムの容量、プライバシー、長期的な管理可能性が気がかりになっている人は多い。Immichは元画像を自分で管理するストレージに保存する。モバイルアプリは新しい写真を自動でバックアップでき、バックアップ後はウェブやアプリで人物や内容から検索したり、アルバムを家族と共有したりできる。データを自分で管理したい人にはこの組み合わせは魅力的だが、手間をかけたくない人には、かえって維持管理の負担が増える。
公式リポジトリ情報
プラットフォームはGitHub、組織はimmich-app、プロジェクト名はImmich、ライセンスはAGPL-3.0である。ダウンロードと導入の前に組織名とプロジェクト名を確認し、出所不明の改変版を使わないようにする。更新は比較的頻繁なので、導入前に使いたいバージョンと導入方法が合っているか確認する。
向いている人
小型のサーバーやNASをすでに持っていて、ときどき手をかけて維持管理する意思があり、写真が多く、データの自主管理を重視する人に向いている。家族で共有アルバムを作りたくて、日常の維持管理を担える人がいる家庭にも向いている。入れっぱなしにしたい人、予備のストレージがない人、ネットワークやバックアップの問題に関わりたくない人には向いていない。
導入コストとして数えるべき3つの項目
1つ目はハードウェアである。導入にはDocker Composeを使い、サーバー、機械学習サービス、PostgreSQL、Redisなどのコンポーネントが含まれる。公式の目安は最低6GBメモリ、2コアからで、8GBあればより安心である。性能が不足すると取り込みも検索も遅くなる。 2つ目はストレージである。元画像の分に加えて余裕を残すこと。システムはサムネイルやプレビューを生成するため、写真が多いほど追加の使用量が目立つ。元画像のサイズだけを数えると、いずれ容量を圧迫する。 3つ目は時間である。大規模なライブラリを初めて取り込む際、顔認識と意味検索のインデックス作成には数時間、場合によってはそれ以上かかることがある。GPUがあれば高速化できるが必須ではない。取り込み中は負荷が高いため、空いた時間に分けて行うのがよい。
実際の落とし穴を先に考える
- アップグレードの前にデータベースとデータをバックアップする。バックアップを飛ばしてアップグレードすると、問題が起きたときに元に戻すのが難しい。
- 外部ネットワークからアクセスしたい場合は、まずHTTPSを設定する。暗号化されていないサービスを直接公開してはいけない。
- 一部の古いCPUには命令セットの要件があり、機械学習サービスが起動しないことがある。導入前にハードウェアが要件を満たすか確認し、必要なら関連機能を先に無効にして試す。
- バックアップを1台のディスクだけに頼ってはいけない。サーバーのディスクが壊れれば、Immich内のデータも一緒に失われる。大切な写真には独立した2つ目のコピーが必要である。
まず小規模で試し、長期利用はその後で決める
まず少量の写真で1週間試し、自動バックアップ、検索、共有、復元がすべてスムーズに動くことを確かめてから、全ライブラリを移すかどうか決める。試用中に維持管理の負担でもうやめたくなったなら、長期利用はさらに重く感じるはずである。セルフホストの価値は管理可能性にあり、代償は誰かが責任を持つことである。この2つの条件がそろって初めて、家族全員の写真を正式に任せてよい。