This document provides a comprehensive overview for deploying Immich in production environments. It covers the containerized architecture, core service setup, hardware considerations, and platform-specific options. Detailed instructions and configurations for specific deployment scenarios are available in linked child pages.
For development environment setup, see Development Environment Setup. For hardware acceleration options, see Hardware Acceleration. For environment and service configuration, see Configuration. For maintenance and backup procedures, see Maintenance and Backup.
Immich employs a microservices design with each major component running in a dedicated container. Docker Compose orchestrates these containers, managing dependencies, volumes, and networking.
This diagram maps the high-level service names used in deployment to container names, ports, and volume mounts.
Sources: docker/docker-compose.yml10-77 docker/docker-compose.prod.yml10-108
To run Immich effectively in production, recommended hardware specifications include:
amd64 architectures, the CPU must support at least x86-64-v2 instruction set.${DB_DATA_LOCATION}.Refer to Installation Requirements for full details.
Sources: docs/docs/install/requirements.md11-42
Immich is composed of several core services, each responsible for specific functionality within the system.
${UPLOAD_LOCATION} to /data.2283 for client connections..env file.ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}immich_server2283Sources: docker/docker-compose.yml13-32 docker/docker-compose.prod.yml13-35
model-cache.-cuda, -openvino.3003 for the server to communicate ML inference requests.Refer to Hardware Acceleration for detailed device-specific setup.
Sources: docker/docker-compose.yml34-49 docker/docker-compose.prod.yml36-56 machine-learning/Dockerfile1-170
ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0 which bundles pgvector and VectorChord extensions.${DB_DATA_LOCATION} inside container at /var/lib/postgresql/data.shm_size to at least 128MB, a requirement for vector operations.--data-checksums to improve data integrity.Sources: docker/docker-compose.yml57-73 docs/docs/administration/postgres-standalone.md
docker.io/valkey/valkey:9.These services are optional but recommended for production monitoring setups.
Immich deployment is flexible to support various environments:
| Platform | Deployment Method | Notes |
|---|---|---|
| Standard Linux | Docker Compose (recommended) | Use the official release Compose file. |
| Unraid | Compose Manager | Requires mapping UPLOAD_LOCATION to /mnt/user/... accordingly. |
| TrueNAS | Community App / Jail | Requires dedicated ownership of pgData dataset by netdata user (UID 999). |
| Rootless Docker | docker-compose.rootless.yml | Runs containers as non-root user 1000:1000, with reduced capabilities. |
| Portainer | Docker Stacks | Deploy via Portainer UI, replace env vars in stack.env. |
Refer to the platform-specific installation guides for exact steps and limitations.
Sources: docs/docs/install/unraid.md docs/docs/install/truenas.md docker/docker-compose.rootless.yml1-98 docs/docs/install/portainer.md
To upgrade Immich services to a new version release, simply pull new images and restart the stack:
This will pull updated container images and recreate the containers with minimal downtime.
A convenience installation script exists for new installations on Linux to automate initial setup and secure environment creation: see install.sh for details.
This guide provides a high-level perspective focused on Docker Compose container orchestration and service relationships. Detailed deployment scenarios, configuration options, and maintenance operations are covered extensively in the following child pages:
Docker Deployment
Explains Docker Compose setup, service scaling, volume configuration, and reverse proxy integration with nginx, Traefik, or Caddy.
Hardware Acceleration
Covers setup of GPU/accelerator options for machine learning including CUDA, OpenVINO, ARM NN, RKNN, and ROCm.
Configuration
Documents all environment variables, storage paths, and runtime service settings for fine-tuning Immich deployment.
Maintenance and Backup
Describes maintenance mode, automated database backup and restore procedures, and monitoring capabilities.
This structured approach allows users to start with this consolidated deployment overview and dive into specific topics via the linked child pages tailored to their environment and needs.
Sources:
Refresh this wiki
This wiki was recently refreshed. Please wait 5 days to refresh again.