
2026/01/28 22:17
**私の驚くほど頑丈なフォト管理システム(Immich 版)**
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
改訂版サマリー
著者は、Immich の
immich-exif プラグインを使用して、アルバム、説明、場所、日時、およびお気に入りメタデータをすべて各画像の EXIF タグに直接保存する写真管理ワークフローを構築しました。写真は自動的に Synology NAS と Dropbox にバックアップされるため、外部データベースは不要です。
異なるワークフローを採用しているユーザー向けに、
immich-exif プラグインの簡略版が提供されています。長期計画では、すべてのメタデータをファイル自体に保存します。Immich は通常、このデータを Postgres データベースまたは XMP サイドカーに保持しますが、著者は写真に直接埋め込むことを好みます。
主な写真ソースは、コマンドラインツール Elodie(約 10,000 行のコード、1,300 件の GitHub スター、150 件のフォーク)で管理される Synology NAS です。以前は Google Photos が読み取り専用ビューアとして機能していましたが、2019 年にポリシー変更とプライバシー懸念から切り替えられました。Immich の「外部ライブラリ」機能により、既存フォルダ(読み取り専用または編集可能)をライブラリに追加できるようになり、Google Photos で失われた機能が回復されます。
Elodie が写真をアルバムフォルダへ移動すると、Immich はそれを削除–再作成操作として解釈します。著者は最終的に一貫性のあるアプローチでこれを解決し、EXIF の更新が保持されるようにしています。目的は、Immich を読み取り専用ビューアから完全な写真オーガナイザーへと変換し、EXIF メタデータのみを使用して元ファイルを変更せずに済むことです。
詳細な技術説明は別途公開される予定であり、現在の進捗は GitHub の issue 496 で確認できます。この EXIF 中心型ワークフローは、クラウドデータベースよりもファイルベース管理を好み、NAS ソリューションを使用しているユーザーにとってプライバシー重視の代替手段となり、将来の写真整理ツールに影響を与える可能性があります。
本文
TL;DR:Immich を使ってアルバム、説明文、位置情報、日付/時刻、そしてお気に入りを変更すると、その情報は写真の EXIF に保存され、自動的に私の Synology NAS と Dropbox へバックアップされます。データベースは不要です。読むより見る方が好きな人向けに、下記に動画を添付します。
自分独自のワークフローと合わない場合もあると思い、使っているプラグインの簡易版を作成しました。これなら自分の流れに合わせて調整できます。immich‑exif で公開しています。
私は2十年以上写真管理・アーカイブのワークフローを磨いてきました。その時期は変化が多く、断続的でしたが、とてもうまく機能し、ほとんど触る必要がありません。
私の写真管理における最も耐久性の高い要素は、EXIF のみでメタデータを保存する点です。説明文・お気に入り・アルバムなどは外部データベースに頼らず、EXIF にすべて保持しています。他にも同じやり方をしている人がいるか分かりませんが、こうあるべきだと考えます。ただし、ここではその話題には触れません。Immich の使い方を皆さんにご紹介したいと思います。
以前の投稿で写真管理哲学を詳しく述べましたが、ここでは重要度順に簡潔にまとめます:
- 保存 – 写真ライブラリは数十年先まで未来証明されている必要があります。
- 統合 – 妻と私のスマホから撮った写真を一つのライブラリに結集します。
- 体験 – 写真・動画が生き生きとして、撮影時の瞬間を再体感できるようにします。
私は Google Photos を読み取り専用ビューアとして利用し、その発見機能に魅了されていました。しかし 2019 年に Google Photos と Google Drive の連携方式が変更され、私のワークフローが崩れました。
写真の主な保存先は自宅の Synology NAS。10 年前に作成したシンプルなコマンドラインツール Elodie を使って整理しています。コード量は 1 万行を超え、スター 1,300、フォーク 150 に達しました。最も簡潔に言えば、EXIF のみでファイルシステム上に写真ライブラリを構築する“公式オーガナイザー”です。
Elodie 用のプラグインを作り、Google Drive + Google Photos が非推奨になった機能を置き換えました。これにより、読み取り専用ビューアとして Google Photos を使い続けられたのですが、Google サービスへの依存と写真に埋め込まれるデータを渡すことに不安が生じ、やむなく利用を中止しました。
その後、数年にわたり優れた閲覧手段が無かった状態でした。Synology のフォルダベースの標準体験よりリッチなものを望んでいました。Synology Photos は期待は高いものの、10 年前からある NAS には性能不足と感じました。
Immich に関して他者からポジティブな声が多く、2025 年末に本格的に検討することにしました。外部ライブラリという概念を知った瞬間、Aha! と突き上げられました。外部ライブラリとは既存のフォルダを Immich に知らせると、そのフォルダが写真ライブラリへ追加される仕組みです。重要なのは読み取り専用でマウントできる点です。
Google Photos との過去の使用感と直結して、Immich を使えば失った機能を回復できることに気付きました。しかしさらに…もっと多くを実現できないか?数年考えていた疑問が湧き上げました。
「@getelodie(GitHub 版)でコマンドラインよりも簡単なインターフェースを作ろうと何年も考えている。モバイルは不要だと思っている。おそらく Web ベースにしたい。モバイル/デスクトップアプリはすぐに陥落する―― Jaisen (@jmathai) 2022 年 10 月 31 日」
結局、答えは「はい」です。Immich を読み取り専用ビューアから完全な整理ツールへと変換できました。ただし Immich は写真の EXIF を変更せず、Postgres データベースに情報を保存します。XMP サイドカーも書き込み可能ですが、サイドカーは扱いづらく、私はすべてを画像ファイル自体に埋め込みたいと考えています。Immich の作者側は元の写真ファイルを書き換えることに慎重なようで、私の要望には合わないと思います。
Claude Code で 4 時間かけるはずが、実際には二週間かけて Immich の仕組みを思った以上に学びました。外部ライブラリは便利ですが、Elodie と併用する上ではいくつかの落とし穴があります。Elodie でアルバムに写真を追加すると、その写真の EXIF が更新され、同時にアルバム名付きフォルダへ移動します。Immich はこれを「元ファイルを削除して新規作成」と解釈するため、多くの課題が生じます。しかし eventual consistency(最終的整合性)アプローチで全ての変更を保持し、最終的に反映させることで解決しました。
他にも小さな問題はありましたが、少し手間をかければすべて克服できました。Immich の API は非常に良いので、私は表面だけを触っている状態です。今のところ、数十年先も残ることを保証しつつ、長い間楽しめなかった写真を楽しく閲覧できています。
詳細な技術解説は別途執筆予定ですが、まずは GitHub の issue 496 を追跡して進捗とコードをご確認ください。