メインコンテンツにスキップ

Docker Compose [推奨]

Docker Compose は Immich を本番環境で稼働させるための推奨される方法です。以下は Docker Compose を使用して Immich をデプロイする手順です。

Step 1 - Download the required files

Create a directory of your choice (e.g. ./immich-app) to hold the docker-compose.yml and .env files.

Move to the directory you created
mkdir ./immich-app
cd ./immich-app

Download docker-compose.yml and example.env by running the following commands:

Get docker-compose.yml file
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
Get .env file
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

You can alternatively download these two files from your browser and move them to the directory that you created, in which case ensure that you rename example.env to .env.

Step 2 - Populate the .env file with custom values

Default environmental variable content
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=./library

# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=./postgres

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=Etc/UTC

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
  • Populate UPLOAD_LOCATION with your preferred location for storing backup assets. It should be a new directory on the server with enough free space.
  • Consider changing DB_PASSWORD to a custom value. Postgres is not publicly exposed, so this password is only used for local authentication. To avoid issues with Docker parsing this value, it is best to use only the characters A-Za-z0-9. pwgen is a handy utility for this.
  • Set your timezone by uncommenting the TZ= line.
  • Populate custom database information if necessary.

Step 3 - Start the containers

From the directory you created in Step 1 (which should now contain your customized docker-compose.yml and .env files), run the following command to start Immich as a background service:

Start the containers
docker compose up -d
Docker のバージョン

unknown shorthand flag: 'd' in -d または open <location of your .env file>: permission denied のようなエラーが発生した場合、それはおそらく誤った Docker のバージョンを使用している可能性があります。(例えば Ubuntu 22.04.3 LTS の docker.io パッケージで発生します。)この問題を解決するには、ディストリビューション用の完全な Docker Engine のインストール 手順、特に「以前のバージョンをアンインストールする」と「apt/rpm リポジトリを使用してインストールする」というセクションに従ってください。この手順により、ディストリビューションの Docker パッケージが Docker の公式パッケージに置き換えられます。

正しいコマンドは docker compose であり、docker-compose ではありません。未変更の Ubuntu 22.04 で後者を試すと、別の方法で失敗します:

Compose ファイル './docker-compose.yml' が無効です。以下が原因です:
'name' は次の正規表現のいずれにも一致しません: '^x-'

公式 Docker リポジトリからインストールする方法については、前の段落を参照してください。

ヘルスチェック開始間隔

can’t set healthcheck.start_interval as feature require Docker Engine v25 or later というエラーが発生した場合、docker-compose.yml ファイルの database セクション内の start_interval 行をコメントアウトすると役立ちます。

次のステップ

インストール後の手順アップグレード手順 をお読みください。