Docker Compose [Empfohlen]
Docker Compose ist die empfohlene Methode, um Immich in der Produktion auszuführen. Im Folgenden finden Sie die Schritte zur Bereitstellung von Immich mit Docker Compose.
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.
mkdir ./immich-app
cd ./immich-app
Download docker-compose.yml and example.env by running the following commands:
wget -O docker-compose.yml 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
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
# 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_LOCATIONwith your preferred location for storing backup assets. It should be a new directory on the server with enough free space. - Consider changing
DB_PASSWORDto 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 charactersA-Za-z0-9.pwgenis 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:
docker compose up -d
Wenn Sie einen Fehler wie unknown shorthand flag: 'd' in -d oder open <location of your .env file>: permission denied erhalten, verwenden Sie wahrscheinlich die falsche Docker-Version. (Dies passiert beispielsweise mit dem docker.io-Paket unter Ubuntu 22.04.3 LTS.) Sie können das Problem beheben, indem Sie die vollständige Docker Engine Installationsanleitung für Ihre Distribution befolgen, insbesondere die Abschnitte "Alte Versionen deinstallieren" und "Installation über das apt/rpm-Repository". Diese ersetzen die Docker-Pakete der Distribution durch die offiziellen von Docker.
Beachten Sie, dass der richtige Befehl tatsächlich docker compose, nicht docker-compose ist. Wenn Sie letzteres auf einer normalen Ubuntu 22.04-Version versuchen, wird es auf eine andere Weise fehlschlagen:
Die Compose-Datei './docker-compose.yml' ist ungültig, weil:
'name' stimmt mit keinem der Regexes: '^x-' überein
Siehe den vorherigen Absatz zur Installation aus dem offiziellen Docker-Repository.
Wenn Sie einen Fehler can't set healthcheck.start_interval as feature require Docker Engine v25 or later erhalten, hilft es, die Zeile für start_interval im Abschnitt datenbank der Datei docker-compose.yml auszukommentieren.
Nächste Schritte
Lesen Sie die Nach der Installation Schritte und Upgrade-Anweisungen.