はじめに
スマホの写真データ、どこに保存していますか。
正直なところ、Googleフォトの無料容量が縮小されてから「このままでいいのか」と思っている人は多いはず。月額課金してクラウドに預けるか、外付けHDDに放り込んで忘れるか。どちらも微妙にストレスがあるんですよね。
そんな中で見つけたのがImmich。GitHub星85,000超えの、セルフホスト型写真管理ソリューションです。個人的には「ようやくGoogleフォトの代替として使えるものが出てきた」という印象。今回はこのImmichについて詳しく紹介していきます。
Immichとは
Immichは、自分のサーバー上で動かせるオープンソースの写真・動画管理システムです。見た目も機能もGoogleフォトにかなり近く、スマホアプリからの自動バックアップにも対応しています。
ライセンスはAGPL-3.0。完全無料で使えます。
主な技術スタックとしては、バックエンドがTypeScript(NestJS)、フロントエンドがSvelte/SvelteKit、モバイルアプリがDart/Flutterという構成。モダンな技術で作られているので、動作も軽快です。
特徴・メリット
Immichの強みをいくつか挙げてみます。
Googleフォト級の機能が揃っている
- 顔認識とクラスタリング
- AIによるオブジェクト認識検索
- CLIP(機械学習)ベースの検索
- 「○年前の今日」を表示するメモリー機能
- 地図上での写真表示
- 360度画像のサポート
これ、意外とセルフホスト系のサービスでここまで揃っているものは少ないんですよ。
スマホアプリの完成度が高い
iOSとAndroid両方に対応したネイティブアプリがあります。バックグラウンドでの自動バックアップ、オフラインサポートなど、日常使いに必要な機能は一通り揃っています。
マルチユーザー対応
家族で使う場合に便利。パートナーとの共有機能や、読み取り専用ギャラリーの公開なども可能です。管理者権限の設定もできるので、子どもに使わせる場合も安心。
活発な開発コミュニティ
- 1,700人以上のコントリビューター
- 8,700以上のコミット
- 280以上のリリース
開発が止まっているOSSを掴むリスクがないのは大きいですね。
インストール方法
Docker Composeを使ったインストールが推奨されています。意外と簡単です。
前提条件
- Docker Engine v25以降
- 十分なストレージ容量
手順
まず、作業用ディレクトリを作成します。
mkdir immich-app
cd immich-app
必要なファイルをダウンロード。
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
.envファイルを編集します。
# .env
UPLOAD_LOCATION=/path/to/your/photos # 写真の保存先
DB_PASSWORD=your_secure_password # 英数字のみ推奨
TZ=Asia/Tokyo # タイムゾーン
コンテナを起動。
docker compose up -d
これだけです。http://localhost:2283にアクセスすれば、初期設定画面が表示されます。
基本的な使い方
初期設定
ブラウザでアクセスしたら、まず管理者アカウントを作成します。その後、追加ユーザーの作成や外部ライブラリの設定が可能です。
モバイルアプリの設定
- App Store/Google Playから「Immich」をインストール
- サーバーURLを入力(例:
http://192.168.1.100:2283) - 作成したアカウントでログイン
- 自動バックアップを有効化
既存の写真をインポート
外部ライブラリ機能を使えば、NASやHDDにある既存の写真フォルダをそのまま読み込めます。
# docker-compose.yml に追加
volumes:
- /mnt/nas/photos:/mnt/media/photos:ro
読み取り専用でマウントすれば、誤って削除するリスクも避けられます。
CLIツールでの一括アップロード
大量の写真をアップロードする場合は、公式CLIツールが便利です。
npm i -g @immich/cli
immich upload --recursive /path/to/photos
実践的なユースケース
ケース1: 家族の写真共有
我が家では、妻と子どもの写真を共有するのに使っています。パートナー共有機能で、お互いの写真が自動的に相手のタイムラインにも表示されるようになります。
ケース2: NASとの連携
SynologyやQNAPのNASを持っているなら、Docker対応しているので直接インストール可能。既存の写真フォルダを外部ライブラリとして登録すれば、重複なく管理できます。
ケース3: 古い写真のデジタル化
スキャンした古い写真も、Exif情報を編集すれば正しい年代順に並びます。メモリー機能で「20年前の今日」なんて表示されると、ちょっと感動しますね。
ケース4: 仕事用の写真管理
現場写真や資料写真の管理にも使えます。タグ機能とAI検索を組み合わせれば、「あの時の写真どこだっけ」がなくなります。
デモを試してみる
いきなりサーバーを立てるのが面倒なら、公式デモを触ってみるのがおすすめです。
- URL: https://demo.immich.app
- メール: demo@immich.app
- パスワード: demo
実際のUIや検索機能を体験できます。
まとめ
Immichは、セルフホスト型の写真管理としては現状一択と言っていいレベルの完成度です。
- Googleフォト級の機能
- 活発な開発
- スマホアプリの使い勝手
- Docker一発でインストール可能
30代になって写真データの管理を真面目に考え始めた人には、かなりおすすめできます。クラウドサービスに月額課金するより、自宅のNASやミニPCで運用した方がコスパ的にも良いケースは多いはず。
最初のセットアップだけ乗り越えれば、あとは基本的にノーメンテで動いてくれます。興味があれば、まずはデモサイトを触ってみてください。