見出し画像

Windows版・事故らないImmich完全構築マニュアル|Docker・GPU・iPhone自動バックアップまで

前回の記事では、iPhoneの容量不足をきっかけに、自宅PCへ「Immich」を導入した話を書きました。


僕が作りたかったのは、単なる写真置き場ではなく、iPhoneで撮れば自動で自宅PCへ保存され、本体の容量を空けても昔の写真をいつでも見られる「自分専用のフォトクラウド」です。

完成したシステムには非常に満足していますが、正直に言えば、環境構築は「少しコツが要る」どころではありませんでした(笑)。Windows+Docker+Immichという組み合わせは、動かすだけなら難しくありません。しかし、**「長期間、大切な家族写真を預けられる構成」**にしようとすると、保存先の設定、ネットワーク、セキュリティ、バックアップなど、考えるべきことが山ほど出てきます。

この記事では、僕が実際に構築した環境をベースに、WindowsでImmichを安全に運用開始するまでの手順をまとめます。単なるインストール方法ではなく、どこで、なぜ詰まったか、最終的にどういう設計にしたかという「地雷の避け方」を共有します。
僕と同じところで数時間溶かさず、最短で完成形まで辿り着くための手順書です。


0. まず完成形:この記事で作るもの

(1)物理構成とフォルダ設計

最終的な構成は以下の通りです。

iPhone
  │
  │ Immich Backup
  │ Wi-Fi
  ▼
Windows 11 PC
│
├─ D:\00_Immich_MANAGED
│    │
│    ├─ 00_App_Config
│    │     ├─ docker-compose.yml
│    │     └─ .env
│    │
│    └─ 01_Library_DO_NOT_EDIT
│          ├─ upload
│          ├─ library
│          ├─ thumbs
│          ├─ encoded-video
│          ├─ profile
│          └─ backups
│
├─ Projects
│     ↑
│   編集したい動画だけCOPY
│
├─ Exports
│     ↑
│  CapCutで編集後ファイル
│
│  
└─ C: Immich BACKUP
      ↑
   Dドライブから定期的にバックアップ(必須ではない)


Docker Desktop
   │
   └─ WSL2 / Linux
        ├─ Immich Server
        ├─ Machine Learning
        └─ PostgreSQL
             ↓
        Docker Volume

【物理構成とフォルダ設計】

  • Dドライブ:Immich本体・写真原本

  • Cドライブ:第2バックアップ

  • Docker Desktop / WSL2:Immich・PostgreSQL等の実行環境

(2)システムの運用ルール

「普段はほぼ何も考えなくていい状態」をゴールにします。

  • iPhoneからWi-Fi経由で自動バックアップ。

  • 1年以上前のデータはiPhoneから削除してストレージを解放。

  • Immichに保存したファイルは、Immichサーバー(PC)が起動中で、iPhoneが同じ家庭内LANに接続されていれば、iPhoneから過去写真を閲覧可能。PCは有線LANでもOK。

  • 顔認識やSmart Searchは自動処理。RTXシリーズ搭載PCならGPUアクセラレーションも可能。

  • DBと写真本体は二重にバックアップ。


1. 最初に大原則:「Immich管理フォルダは直接触らない」

ここは非常に重要です。Immichへアップロードした写真は、単にフォルダへコピーされるわけではありません。データベース(PostgreSQL)やサムネイル、人物情報などと密接に紐付いています。

そのため、エクスプローラーで直接ファイルを削除したり移動したりするのは厳禁です。僕は管理領域を `01_Library_DO_NOT_EDIT`(編集禁止)と命名し、未来の自分に圧をかけました(笑)。動画編集などで使いたい場合は、必ず「原本から別フォルダへコピー」して使うルールを徹底します。


2. 必要な環境

僕の場合は以下です。

  • Windows 11 PC(写真保存用の空き容量が必要。今回はSSD 2台で構築)

  • Docker Desktop / WSL2

  • iPhone + Immich iOSアプリ

  • GPU(RTXシリーズ等):任意。なくても利用可能。大量写真のAI解析を高速化したい場合に有効。

また、この記事では「すでにWindows PCがある人」を想定しています。
ImmichのためだけにPC一式を購入するのであれば、NASやクラウドも含めて費用対効果を比較した方がいいと思います。より安全に運用するなら、外付けHDD・NAS・クラウド等への別媒体バックアップを推奨。


3. Windows版Immichの設計ポイント

構築前に一番悩んだのが「PostgreSQL(データベース)をどこに置くか」です。写真本体はWindows側のDドライブに置きたい一方、PostgreSQLのDB領域はWindowsのNTFSへ直接置かない方針にしました。
Immich公式でも、DBデータ領域はNTFS / exFAT / FAT32ではなくLinux互換のファイルシステムを使うよう案内されています。そのため今回は、
 「写真はWindows NTFS上、DBはDocker Volume内」
に分離します。


4. 構築ステップ:具体的な手順と「詰み」ポイント

ここから実際に構築していきます。
ゴールまで全17 STEPありますが、やることは大きく4つだけです。

目次

  • PHASE 1|Immichを動かす

    • STEP 1 WSL2とDocker Desktopを準備する

    • STEP 2 写真の保存場所を決める

    • STEP 3 Immich公式ファイルを配置する

    • STEP 4 写真・動画の保存先を設定する

    • STEP 5 PostgreSQLをDocker Volumeに置く

  • PHASE 2|iPhoneと繋ぐ

    • STEP 6 Immichを初めて起動する

    • STEP 7 iPhoneからImmichへ接続する

    • STEP 8 繋がらない場合は原因を切り分ける

    • STEP 9 正常接続後、PCのIPアドレスを固定する

  • PHASE 3|写真管理を自動化する

    • STEP 10 iPhoneの自動バックアップを有効にする

    • STEP 11 顔認識・Smart Searchを使えるようにする

    • STEP 12 RTXシリーズがあればAI処理をGPU化する

    • STEP 13 「ストレージを解放」でiPhone容量を空ける

  • PHASE 4|家族写真を守る

    • STEP 14 写真・動画を第2SSDへバックアップする

    • STEP 15 バックアップをWindowsで自動化する

    • STEP 16 ImmichのDBも定期バックアップする

    • STEP 17 復旧に必要なデータが揃っているか最終確認する

ここから先は、実際に僕が行った操作と、途中で詰まったポイントを交えながら順番に説明します。なるべく端的に手順を示しますね。


STEP 1|WSL2とDocker Desktopを準備する

Windows版Immichは、Docker Desktop+WSL2(Linux)という構造の上で動きます。一度構築すれば、普段Linuxを意識することはほぼありません。
(リンク:WSLインストール
(リンク:Windows版Docker Desktopインストール

【やること】

  1. Windowsのスタートメニューで「PowerShell」と検索

  2. 「Windows PowerShell」を右クリック →「管理者として実行」

  3. 開いたPowerShellの黒い画面に、以下を入力してEnter
     wsl --version
    ⇒バージョン情報が表示されれば、WSLは導入済

  4. 続けて同じPowerShellに以下を入力してEnter
     wsl --update
    WSLが未導入だった場合は、PowerShellに以下を入力してEnter 
     wsl --install

  5. 再起動を求められた場合はWindowsを再起動

  6. 再起動後、Ubuntuを起動

  7. Linux用ユーザー名・パスワードの設定
    ここで作るアカウントは、Windowsのログインアカウントとは別物。
    ※wsl --installを行った場合、Ubuntuも導入されるため、初回起動時はユーザー名・パスワードを設定。

  8. 次にDocker Desktopを入れます。 (リンク)
     Docker Desktop for Windowsを公式サイトからインストール

  9. Docker Desktopを起動

  10. Settings → General を開く

  11. 「Use the WSL 2 based engine」が有効になっていることを確認

  12. 「Start Docker Desktop when you sign in to your computer」もON推奨

  13. 最後にDockerが正常に使えるか確認します。
    PowerShellを開き、以下を入力してEnter
     docker --version

  14. 続けて以下を入力してEnter
     docker compose version

両方ともバージョン番号が表示されればSTEP1完了です。
詳細は公式マニュアルにも記載ありです。 リンク
なお、Immichで使うのは docker compose。古い記事で見かける docker-compose ではありません。

【僕の詰みポイント】
最初はWSL2、Ubuntu、Dockerの関係が分からず、「この先ずっとLinuxの黒い画面を触るの?」と思っていました。
実際には、初期構築後の操作はほぼWindows側で完結します。
ここでは仕組みを理解しすぎようとせず、docker compose version が通ればOK。


STEP 2|写真の保存場所を決める

次に、Immichで使うフォルダをWindows側に作ります。
僕の場合は、写真・動画を保存するDドライブにImmich専用領域を作りました。ここは今後、大切な写真・動画の「原本」になる場所です。

なお、この先は、
写真・動画の保存先設計 → Immich起動 → iPhone接続 → Firewallトラブル対策 → AI顔認識/GPU化 → iPhoneストレージ解放 → 第2SSDへの自動バックアップ まで、僕が実際に構築した設定を順番に再現していきます。
 特に、僕が数時間詰まった「PCでは開くのにiPhoneから接続できない」問題や、PostgreSQLのVolume設定、実際に使っているバックアップ用バッチファイルも含めています。

【やること】

ここから先は

12,519字 / 1ファイル

¥ 980

Amazon Payで支払うと最大2%還元のチャンス! 9/30まで

役に立った分だけ、気が向いたときに応援してもらえたら嬉しいです。いただいたチップは、次の記事の検証・試行錯誤・"人柱代"としてありがたく使わせて頂きます!