Dev Containersを使用した開発
Dev ContainersはDockerコンテナを使用して、一貫性と再現性のある開発環境を提供します。ワンクリックで、Mac、Linux、Windows、またはGitHub Codespacesを使用したクラウド上でのImmich開発環境を開始できます。
すぐに始めましょう!
前提条件
開始する前に、以下を確認してください:
- Docker Desktop(最新バージョン)
- Visual Studio CodeとDev Containers拡張機能
- リポジトリをクローンするためのGit
- 少なくとも8GBのRAM(16GB推奨)
- 20GBの空きディスク容量
代替の開発環境
このガイドはVS Codeに焦点を当てていますが、Dev Containersで開発するための選択肢はたくさんあります:
ローカルエディタ:
- IntelliJ IDEA - JetBrainsのフルIDEサポート
- neovim - 軽量なターミナルベースのエディタ
- Emacs - 拡張可能なテキストエディタ
- DevContainer CLI - コマンドラインインターフェイス
クラウドベースのソリューション:
- GitHub Codespaces - GitHub完全統合、優れたdevcontainer.jsonサポート
- GitPod - 最近のDev Containerサポートを備えたSaaSプラットフォーム(以前はgitpod.ymlを使用)
自己ホスティングオプション:
Dev Containerサービス
Dev Container環境は次のサービスで構成されています:
サービス | コンテナ名 | 説明 | ポート |
---|---|---|---|
サーバー&Web | immich-server | 開発モードでAPIサーバーとWebフロントエンドを実行 | 2283 (API) 3000 (Web) 9230 (Workers Debug) 9231 (API Debug) |
データベース | database | PostgreSQLデータベース | 5432 |
キャッシュ | redis | Valkeyキャッシュサーバー | 6379 |
機械学習 | immich-machine-learning | Immich MLモデル推論サーバー | 3003 |
始め方
ステップ1: リポジトリをクローン
git clone https://github.com/immich-app/immich.git
cd immich
ステップ2: 環境変数を設定
Immich Dev Containersは.env
ファイルではなく、シェル環境から環境変数を読み取ります。これにより、事前設定なしでクラウド環境で動作します。
設定
ローカルで実行する場合、または既存のDBもしくは写真ストレージフォルダを作成・使用する場合は、Dev Containerを起動する前にシェル環境でUPLOAD_LOCATION
変数を設定する必要があります。これにより、アップロードされたファイルやDBデータが格納される場所が決定されます。
# 現在のセッションに一時的に設定
export UPLOAD_LOCATION=/opt/dev_upload_folder
# または永続化のためにシェルプロファイルに追加
# (~/.bashrc, ~/.zshrc, ~/.bash_profileなど)
echo 'export UPLOAD_LOCATION=/opt/dev_upload_folder' >> ~/.bashrc
source ~/.bashrc