Skip to main content

Docker

Immich is distributed as a set of container images and is run with Docker and the Docker Compose plugin. This page describes what Immich requires from Docker.

Docker Engine vs Docker Desktop

Docker is available in two variants, and either satisfies Immich's requirement as long as the Compose plugin is present.

VariantDescriptionRecommended for
Docker EngineThe CLI variant, designed for serversLinux (including Windows via WSL2). This is the recommended setup.
Docker DesktopThe GUI variantWindows or macOS. Not recommended on Linux.

Docker Compose

Immich's deployment is defined as a Compose file, so the Compose plugin is required. It is installed by both Docker Engine and Docker Desktop when following their official installation guides, and can also be installed separately.

note

Immich requires the docker compose command. The similarly named docker-compose is deprecated and is no longer supported by Immich.

Containers

A default deployment runs the following containers:

ContainerPurpose
immich_serverThe API and web app, and the background workers
immich_machine_learningSmart search, face detection, and OCR models
immich_postgresThe database, including the vector extension used for search
immich_redisThe job queue (a Valkey image, despite the name)

Container environments

Docker in LXC containers is not recommended, but may be possible for advanced users. Immich runs well in a full virtual machine. See Requirements for the supported combinations.