これまでも紹介してきたように、ImmichはGoogleフォトのような既存の画像管理サービスを置き換えられるくらい便利なセルフホストサービスです。これは、WindowsのWSL2環境でも導入可能です。Windows上で導入するメリットとしては、Immichの画像バックアップに、クラウドサービス公式のツールが使えるという点。rcloneを使わなくても手軽にバックアップが行えるようになります。Ubuntu上で動かすのに比べると余分なリソースは消費してしまいますが、余ったWindowsマシンがあるならば有効ではないでしょうか。
WSL2を導入する
WSL2の導入は簡単で、「ターミナル(管理者)」または「PowerShell」を「管理者として実行」し、次のコマンドを実行するだけです。
wsl --install

インストール完了後、Windowsを再起動するだけで、Linux機能とUbuntuが自動インストールされます。Ubuntuのコンソール画面が自動で開くので、ユーザー名とパスワードを設定します。

これで、WSL2の環境は整い、Ubuntuで行ってきたことがそのまま行えます。WindowsのエクスプローラからもUbuntu環境が見えます。

まずは外部からもアクセスしやすいように、Tailscaleを導入したり、SSHを使えるようにします。なお、以前はsystemdが無効になっているので、最初にsystemdを有効化する必要があったようですが、現在では有効になっているようです。
Tailscaleインストール
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --accept-dns=true
SSHサーバのインストール
sudo apt update && sudo apt install openssh-server -y
SSHサーバが自動起動するように設定します。
# 自動起動を有効化
sudo systemctl enable ssh
# 今すぐ起動
sudo systemctl start ssh
TailscaleとSSHが自動起動しているか確認
systemctl is-enabled ssh tailscaled
これで外部のパソコンからもSSHで接続出来るようになり、いつも通り作業出来るはずです。
Windows再起動時もWSL2が自動起動させる
Windowsのタスクスケジューラを使います。
タスクスケジューラの設定:
Win+R→taskschd.msc- 「タスクの作成」
- 各タブを以下のように設定:
全般タブ:
- 名前:
WSL2 AutoStart - 「ユーザーがログオンしているかどうかにかかわらず実行する」
- 「最上位の特権で実行する」にチェック
トリガータブ:
- 「新規」→「スタートアップ時」
操作タブ:
- 「新規」
- プログラム:
C:\Windows\System32\wsl.exe - 引数:
-d Ubuntu
条件タブ:
- 「AC電源に接続している場合のみ」のチェックを外す

これでWindows起動時にWSL2が自動起動し、systemdが有効なのでTailscaleとSSHも自動で立ち上がります。ちなみに、将来的なことを考えると -u root にしておくのも一つの手ですが、systemdが有効な環境では、rootが必要なサービスはsystemdのユニットファイルで管理するのが正しいやり方で、タスクスケジューラ側でrootを使うより、サービスごとにsudo systemctl enableで自動起動を設定するほうが管理しやすいので、ひとまずタスクスケジューラは -d Ubuntu のまま(WSL2を起動するだけ)にし、各アプリは sudo systemctl enable <サービス名> で個別に自動起動設定の予定です。
OneDriveを有効化してフォルダを作成
Windows側でOneDriveを有効にしたら、あらかじめ、Immichで同期する、元画像の保存先を作成しておきます。ここでは「immich-upload」というファイル名にしています。
C:\Users\user\OneDrive\immich-upload\
作成後、フォルダを右クリック し、「常にこのデバイス上に保持する」を選択しておきます。
Immichをインストールする
まずはimmichで必要なファイルをダウンロードします。
cd ~
mkdir -p ~/immich
cd ~/immich
wget 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を編集
続いて、保存先の設定を変更します。
nano ~/immich/.env
UPLOAD_LOCATION だけ変更します。
UPLOAD_LOCATION=/mnt/c/Users/user/OneDrive/immich-upload
DB_DATA_LOCATION=./postgres
Immich起動
設定ファイルの編集が終わったらImmichを起動します。
cd ~/immich
docker compose up -d
全コンテナが Up になっていれば問題ありません。
docker compose ps
Webブラウザでhttp://localhost:2283 にアクセスして表示されればOKです。
Immichの画像データ等はOneDrive内に作成しているので、写真を保存すればすぐに同期されます。
GoogleフォトやAmazonフォトでバックアップ設定
Windows上で認識出来る場所に画像データがあるので、GooglegフォトやAmazonフォトへのバックアップも簡単です。それぞれ専用クライアントがあるので、それをインストールして、Immich内の画像フォルダを対象に指定すれば、画像データが保存されればすぐにバックアップされます。
rcloneを使う方法と比べると、リアルタイムでバックアップされる点と、公式ツールを使っている点がメリットと言えますね。
