Immichをセルフホストする方法:15分であなたのプライベートGoogleフォト
チュートリアル 2026年2月4日 3 min read

Immichをセルフホストする方法:15分であなたのプライベートGoogleフォト

H

Hostly Team

Self-Hosting Enthusiast

Docker Composeを使ってImmichを数分でセットアップ。顔認識、スマート検索、モバイルアプリを備えた無料のオープンソース写真バックアップ — あなたが管理する完全なGoogleフォトの代替。

Google フォトは便利ですが、ストレージ制限に達したり、AI トレーニングされた顔が広告に表示されたり、Google がいつでも利用規約を変更できることに気づいたりすると、そうではなくなります。2024 年、Google は 無料ストレージを削減し、再度価格を引き上げました。多くのユーザーが尋ね始めました:写真を手放さずに同じ体験を得る方法はありますか?

その答えは Immich です — Google フォトに驚くほど似たオープンソースの自己ホスト型写真およびビデオ管理プラットフォームです。電話からの自動バックアップ、顔認識、スマート検索、マップビュー、共有アルバム、さらには思い出まで提供し、すべて自分のハードウェア上で動作します。

このガイドでは、Docker Compose を使用してゼロから Immich をセットアップする手順を説明します。最後には、完全に機能するプライベートフォトクラウドを完全にコントロールできるようになります。

なぜ Immichなのか?

セットアップに入る前に、Immich が PhotoPrism や LibrePhotos のような他の自己ホスト型写真ソリューションと異なる点を理解しましょう:

機能ImmichGoogle フォト
コスト無料(オープンソース)15GB まで無料、その後 $2-10/月
ストレージ無制限(あなたのハードウェア)15GB 無料、その後有料プラン
プライバシー100% ローカル — あなたのデータは自宅に留まりますGoogle があなたの写真をスキャンしてインデックス化します
顔認識✅ デバイス内 ML✅ クラウドベース
スマート検索✅ CLIP ベースのセマンティック検索✅ 独自の AI
自動バックアップ✅ iOS & Android アプリ✅ iOS & Android アプリ
共有アルバム✅ マルチユーザーサポート✅ 共有が組み込まれています
マップビュー✅ GPS ベースの写真マップ✅ ロケーションタイムライン
思い出✅ "この日" 機能✅ 思い出 & コラージュ
オフラインアクセス✅ インターネットなしで動作❌ 接続が必要

Immich は初回リリース以来急成長しており、現在は GitHub で最もスターを獲得している自己ホスト型プロジェクトの一つ で、55,000 以上のスターを獲得しています。モバイルアプリは洗練されており、ウェブインターフェースは高速で、ML 機能は本当に Google に匹敵します。オープンテクノロジーの構築に専念する FUTO に支えられ、Immich は多くのオープンソースプロジェクトにはない長期的な持続可能性を持っています。

必要なもの

始める前に、以下のものを用意してください:

  • サーバーまたは PC — どんな Linux マシン、NAS、Raspberry Pi 5、または古いラップトップでも構いません。リモートアクセスが必要な場合は VPS も有効です。
  • 少なくとも 6GB の RAM — Immich は PostgreSQL や機械学習エンジンを含むいくつかのサービスを実行します。4GB でも動作しますが、ML 機能は遅くなります。
  • Docker と Docker Compose — 推奨されるインストール方法です。Docker が初めての場合は、私たちの 初心者向け自己ホスティングガイド をチェックしてください。
  • ストレージスペース — 写真ライブラリ用の十分なディスクスペース。1TB ドライブはほとんどのユーザーにとって良い出発点です。

💡 ハードウェアの推奨

  • 予算: Raspberry Pi 5 (8GB) + 外部 USB ドライブ — 約 50,000 枚の写真を処理
  • ミッドレンジ: Intel N100 ミニ PC + 16GB RAM + 2TB NVMe — 高速 ML、200k+ 枚の写真を処理
  • エンスージアスト: GPU を搭載したデスクトップ/サーバー(古い GTX 1050 でも可) — 超高速の顔認識と検索
  • クラウド VPS: 4 コア/8GB VPS(Hetzner CX31 のようなもの)は 1-3 ユーザーに最適です

ステップ 1: Docker をインストール

まだ Docker をインストールしていない場合は、以下の手順で新しい Linux サーバー(Ubuntu/Debian)に最も簡単にインストールできます:

# 公式の便利スクリプトを使用して Docker をインストール
curl -fsSL https://get.docker.com | sh

# ユーザーを docker グループに追加(sudo が不要になります)
sudo usermod -aG docker $USER

# ログアウトして再度ログインし、確認します
docker --version
docker compose version

Docker 24+ と Docker Compose v2+ が表示されるはずです。別のディストリビューションを使用している場合は、公式の Docker インストールドキュメントを確認してください。

ステップ 2: Immich ディレクトリを作成

Immich インストール用の専用ディレクトリを作成しましょう:

# Immich ディレクトリを作成して移動
mkdir ~/immich-app
cd ~/immich-app

ステップ 3: 設定ファイルをダウンロード

Immich は公式の docker-compose.yml と環境ファイルを提供しています。これらをダウンロードします:

# 公式の docker-compose.yml をダウンロード
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

これにより、Immich に必要なすべてのサービスが事前に設定されたセットアップが得られます:メインサーバー、機械学習サービス、データベース用の PostgreSQL、キャッシング用の Redis。

ステップ 4: 環境を設定

.env ファイルを開いてカスタマイズします:

# 環境ファイルを編集
nano .env

変更する必要がある主な設定は以下の通りです:

# 写真が保存される場所 — 十分なスペースのある場所を選択
UPLOAD_LOCATION=/mnt/photos/immich

# データベースファイルが保存される場所(高速ストレージに保持、SSD 推奨)
DB_DATA_LOCATION=./postgres

# タイムゾーンを設定
TZ=Europe/Paris

# 安定性のために特定のバージョンに固定(または最新の v2.x を使用)
IMMICH_VERSION=v2

# 重要:これを安全なランダムパスワードに変更
DB_PASSWORD=YourSecurePasswordHere123

# これらは通常変更する必要はありません
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

⚠️ 重要な注意事項

  • 📁UPLOAD_LOCATION: ここにすべての写真とビデオが保存されます。最も大きなドライブを指すようにしてください。開始する前にディレクトリが存在することを確認してください。
  • 🔒DB_PASSWORD: 文字と数字のみを使用してください (A-Za-z0-9)。特殊文字は Docker の環境解析に問題を引き起こす可能性があります。
  • 💾DB_DATA_LOCATION: PostgreSQL データベースは適切な Linux ファイルシステム (ext4, ZFS, BTRFS) に存在する必要があります。NTFS および FAT は 動作しません

まだ存在しない場合は、アップロードディレクトリを作成します:

# 写真ストレージディレクトリを作成
sudo mkdir -p /mnt/photos/immich
sudo chown $USER:$USER /mnt/photos/immich

ステップ 5: Immich を起動

さあ、ワクワクする部分です — 単一のコマンドで全てを起動します:

# 画像をプルしてすべてのサービスを起動
docker compose up -d

Docker は Immich のイメージをダウンロードし(初回実行時は約 2-3 GB)、すべてのコンテナを起動します。進行状況を確認できます:

# リアルタイムでログを監視
docker compose logs -f

サーバーが準備完了を報告するまで待ちます。通常、データベースの初期化に 30-60 秒かかります。

ステップ 6: 管理者アカウントを作成

ブラウザを開いて、次の URL に移動します:

http://YOUR_SERVER_IP:2283

Immich のセットアップ画面が表示されます。「はじめに」をクリックして管理者アカウントを作成します。最初に登録したユーザーは自動的に管理者になります。

強力なパスワードを選択してください — このアカウントはあなたのすべての写真ライブラリを管理し、他のユーザーを管理できます。

ステップ 7: モバイルアプリを設定

ここが Immich の真骨頂です。以下からモバイルアプリをインストールします:

アプリを開いたら、サーバーの URL (http://YOUR_SERVER_IP:2283) を入力し、先ほど作成したアカウントでログインします。

自動バックアップを有効にするには:

  1. 右上の クラウドアイコン をタップ
  2. バックアップするアルバムを選択(カメラ、スクリーンショット、WhatsApp など)
  3. バックアップを有効にする を切り替え
  4. オプションで バックグラウンドバックアップ を有効にして、アプリが閉じているときでも同期する

あなたの写真はすぐにアップロードが始まります。ライブラリのサイズによっては、この初期同期には時間がかかる場合があります — 必要に応じて一晩中実行させてください。

ステップ 8: Immich の機能を探る

写真がアップロードされたら、Immich ができることを探ってみてください:

顔認識

Immich の ML エンジンは、あなたの写真の中で顔を自動的に検出し、グループ化します。探索 ページに移動して、検出された人々を確認してください。顔のクラスターをクリックして名前を割り当てると、「お母さんの写真」や「アレックスとの写真」を瞬時に検索できます。

スマート検索

CLIP モデルのおかげで、自然言語を使用して検索できます。以下のようなクエリを試してみてください:

  • 「ビーチでの夕日」
  • 「雪の中で遊ぶ犬」
  • 「ろうそくのあるバースデーケーキ」
  • 「赤い車」

検索はセマンティックであり、キーワードだけでなく概念を理解します。手動タグ付けなしでこれがどれほどうまく機能するかは本当に印象的です。

マップビュー

写真に GPS データが含まれている場合(ほとんどの電話の写真には含まれています)、マップビューでは世界地図にプロットされた写真が表示されます。旅行を振り返り、思い出が作られた場所を見るための美しい方法です。

共有アルバムとマルチユーザー

アルバムを作成し、他のユーザーと共有することができます。これは家族に最適です — 各人はプライベートストレージを持つ自分のアカウントを持ちますが、旅行、誕生日、日常の瞬間のアルバムを共有できます。

``````html

思い出

Google Photosの「この日」機能のように、Immichは過去の年の写真を表示します。忘れられた瞬間を再発見する楽しい方法ですが、今回はどの企業もその思い出をデータのために掘り起こすことはありません。

リモートアクセスのためのImmichのセキュリティ

現在、Immichはローカルネットワークでのみアクセス可能です。どこからでもアクセスするには(自宅外での自動電話バックアップに必要です)、主に2つのオプションがあります:

オプションA: HTTPSを使用したリバースプロキシ(推奨)

SSLを処理し、Immichを安全に公開するために、Nginx Proxy ManagerやCaddyのようなリバースプロキシを設定します:

# 例 Caddy設定 (Caddyfile)
photos.yourdomain.com {
    reverse_proxy localhost:2283
}

これにより、https://photos.yourdomain.comのようなクリーンなURLが得られ、Let's Encryptを介して自動的にHTTPSが有効になります。ドメイン名が必要で、そのDNSをサーバーのパブリックIPにポイントする必要があります。

オプションB: Cloudflareトンネル(ゼロ設定)

ルーターのポートを開きたくない場合、CloudflareトンネルはサーバーからCloudflareのネットワークへの安全な接続を作成します:

# cloudflaredをインストール
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main' | sudo tee /etc/apt/sources.list.d/cloudflared.list
sudo apt update && sudo apt install cloudflared

# 認証してトンネルを作成
cloudflared tunnel login
cloudflared tunnel create immich
cloudflared tunnel route dns immich photos.yourdomain.com

# トンネルを実行
cloudflared tunnel --url http://localhost:2283 run immich

このアプローチでは、オープンポートやダイナミックDNSは不要です — Cloudflareがすべてを処理します。

Immichを最新の状態に保つ

Immichは頻繁に更新されているアクティブな開発が行われています。最新バージョンに更新するには:

# Immichディレクトリに移動
cd ~/immich-app

# 最新のイメージをプル
docker compose pull

# 新しいイメージで再起動
docker compose up -d

# 古いイメージをクリーンアップ(オプション、ディスクスペースを節約)
docker image prune -f

もしIMMICH_VERSION=v2.envファイルに設定している場合、これにより最新のv2.xリリースがプルされます。最大の安定性を求める場合は、v2.1.0のように特定のバージョンに固定して手動で更新できます。

🔄 更新前にデータベースをバックアップ

  • 💡主要な更新の前には必ずPostgreSQLデータベースをバックアップしてください。実行:docker exec -t immich_postgres pg_dumpall -c -U postgres > immich_backup.sql
  • 💡あなたの写真は安全です — 通常のファイルとしてUPLOAD_LOCATIONに保存されています。データベースはメタデータ、顔データ、ユーザーアカウントを保存します。

パフォーマンスのヒント

基本的な設定が完了したら、Immichインスタンスを最大限に活用するためのいくつかのヒントを紹介します:

ハードウェアアクセラレーションによる機械学習の有効化

サーバーに互換性のあるGPU(Nvidia、Intel Quick Sync、またはAMD)がある場合、顔検出、物体認識、スマート検索インデックスを劇的に高速化できます。docker-compose.ymlにGPUサポートを追加します:

# Nvidia GPUの場合、immich-machine-learningサービスに追加:
  immich-machine-learning:
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities:
                - gpu

GPUアクセラレーションを使用すると、10,000枚の写真の処理が数時間から数分に短縮されます。

外部ライブラリのサポート

すでにディスク上に写真コレクションがありますか?すべてを再アップロードする必要はありません。Immichは外部ライブラリをサポートしており、既存のフォルダーを指定すると、ファイルを重複させることなくその場で写真をインデックスします。

ストレージの最適化

Immichはデフォルトでオリジナルファイルを保存します(ロスのある圧縮はありません)。ストレージが不足している場合は、次のことを検討してください:

  • スマートフォンで自動HEIF/HEVCストレージを設定する(ファイルサイズが小さく、同じ品質)
  • ZFSまたはBtrfsを使用し、ストレージドライブで圧縮を有効にする
  • アップロード場所としてNASまたはネットワーク共有をマウントする(写真には機能しますが、データベースには機能しません)

Google Photosからの移行

Google Photosから切り替える場合、移行手順は次のとおりです:

  1. データをエクスポートする Google Takeoutから — Google Photosのみを選択し、.zip形式を選びます
  2. アーカイブをダウンロードします — ライブラリのサイズによっては、時間がかかることがあります
  3. Immich CLIを使用して一括アップロードします:
# Immich CLIをインストール
npm i -g @immich/cli

# Immichサーバーに認証
immich login http://YOUR_SERVER_IP:2283 YOUR_API_KEY

# Google Takeoutの写真をアップロード
immich upload --recursive /path/to/google-takeout/Google\ Photos/

CLIは日付、GPS座標、カメラ情報を含むEXIFメタデータを保持します。あなたの写真は正しいタイムスタンプでImmichに表示されます。

FAQ

どれくらいのストレージが必要ですか?

典型的なスマートフォンの写真は3-8 MBです。10,000枚の写真には約50-80 GBを見込んでください。動画ははるかに大きく、1分の4K動画は約300-500 MBです。1TBのドライブはほとんどの個人コレクションを快適に保存できます。

Raspberry PiでImmichを使用できますか?

はい!8GB RAMのRaspberry Pi 5はImmichをうまく実行します。ML処理はx86ハードウェアより遅くなりますが、日常的な使用(ブラウジング、アップロード、共有)はスムーズです。Pi 4でも動作しますが、初期処理時間が長くなることを期待してください。

Immichは本番環境で使用できますか?

Immichは大幅に成熟しており、毎日数十万人に使用されています。開発者はその状態について透明性を持っています — 歴史的にはアクティブな開発中であると述べていましたが、v2リリースは大きな安定性のマイルストーンを示しています。データベースを定期的にバックアップすれば問題ありません。

複数の家族メンバーが使用できますか?

もちろんです。各家族メンバーのために別々のユーザーアカウントを作成します。全員が自分のプライベートライブラリを持ちながら、アルバムを共有できます。管理者はユーザーごとにストレージのクォータを設定できます。

PhotoPrismと比較してどうですか?

PhotoPrismは別の優れたセルフホスト型の写真管理ツールですが、既存のコレクションの整理に重点を置いています。ImmichはGoogle Photosの代替品としてゼロから構築されており、モバイルバックアップをコア機能としています。自動電話バックアップが重要な場合、Immichが明らかな選択肢です。

次は何ですか?

これで、機能面でGoogle Photosに匹敵するプライベートなセルフホスト型の写真クラウドを持ち、データを完全に自分の管理下に置くことができます。次に探求すべきステップは次のとおりです:

  • Immichデータベースの自動バックアップを設定してデータ損失から保護する
  • APIを探求する — Immichにはカスタム統合のための包括的なREST APIがあります
  • Immich Kioskを試す — 古いタブレットをデジタルフォトフレームに変えてImmichライブラリを表示する
  • セルフホスト型アプリをさらにブラウズする Hostlyのアプリディレクトリで — パスワードマネージャーからリバースプロキシまで、ほとんどすべてのものにセルフホスト型のソリューションがあります

自分の写真をセルフホストすることは、デジタル独立に向けた最も影響力のあるステップの1つです。あなたの思い出は、他人のサーバーに保存され、アルゴリズムによってスキャンされ、サブスクリプションのペイウォールの背後に囚われるべきではありません。

Immichを使えば、その思い出はあなたのものです — 本当に、完全にあなたのものです。