要求#
家庭クラウドアルバムを実現し、スマートフォンのストレージ容量を解放し、スマートフォンが故障しても写真が失われることを避けるために、プライバシーを自分で管理できるようにし、パブリッククラウドでのスキャンや盗み見の心配をする必要がありません。また、自由なネットワーク速度も実現します。
Google で検索した結果、Immichというオープンソースプロジェクトが非常に人気があり、上記の要件を満たすだけでなく、さらに驚くべき機能を備えていることがわかりました。たとえば、複数のユーザーによるアルバムの管理などです。
インストールと実行#
公式の詳細で充実したインストールドキュメントに従ってインストールと実行を行うと、問題なく進めると思います。私はDocker Composeを使用してデプロイしています。
正常に実行されると、ウェブページやアプリを使用してアルバムを管理できるようになります。また、CLI を使用した一括アップロードもサポートしています。つまり、次の 3 つの異なる形式のクライアントがサポートされています:
-
ウェブページには
http://[server_ip]:2283
でアクセスできます。 -
アプリは Android/iOS をサポートしており、Mobile App | Immichで前面で実行またはバックグラウンドで自動バックアップができます。
サーバーにログインできない場合、次の理由が考えられます:
- サーバーのファイアウォールのインバウンドルールに
2283
の TCP ポートが許可されていないか、ファイアウォールを無効にしている可能性があります。 - アプリのバージョンが古く、サーバーのバージョンが高い場合は、アプリを最新バージョンにアップグレードするだけです。
- サーバーのファイアウォールのインバウンドルールに
-
CLI による一括アップロード:Bulk Upload (Using the CLI) | Immich
もちろん、これは提供されている基本的な機能にすぎません。さらなる機能については、ドキュメントを参照してください:immich.app/docs
データの移行#
以前に Immich サーバーに多くの写真をアップロードしていたが、何らかの理由でそのサーバーをオフラインにする必要がある場合、データの移行が非常に重要になります。つまり、データをそのまま新しいサーバーに移動することです。公式ドキュメントには、次の 2 つのパートに分かれています:
-
Postgres データベースのバックアップとリストア:Backup and Restore | Immich
もし私と同じように、Windows で Docker Desktop を実行している場合、ドキュメントのコマンドを次のように置き換える必要があるかもしれません:
-
バックアップ(もちろん、ディスクパスは自分のものに置き換える必要があります):
docker exec -t immich_postgres pg_dumpall -c -U postgres > "D:\dev\containers\immich\backup\dump.sql"
-
リストア:ドキュメントに従って進めた後、
sleep 10
コマンドをスキップしてください。Windows には存在しないためです(データベースが正常に起動したかどうかは、docker logs -f immich_postgres
コマンドで確認できます)。その後、バックアップファイルを解凍(バックアップが圧縮ファイルの場合)し、次のコマンドでデータベースをリストアします(もちろん、ディスクパスは自分のものに置き換える必要があります):docker exec -i immich_postgres psql -U postgres -d immich < "D:\dev\containers\immich\backup\dump.sql"
-
-
写真ファイル自体の移行(ディスクファイルのバックアップ):Backup and Restore | Immich
実際には非常に簡単で、ディスクディレクトリを新しいサーバーに移動(またはダウンロード)するだけです。
上記の 2 つのパートを完了したら、該当する場所でdocker-compose up -d
コマンドを実行してすべてのサービスを起動することを忘れないでください。