version: '3.8' services: immich-redis: image: redis:6 container_name: Immich-REDIS labels: - "com.centurylinklabs.watchtower.enable=false" hostname: immich-redis security_opt: - no-new-privileges:true healthcheck: test: ["CMD-SHELL", "redis-cli ping || exit 1"] interval: 10s timeout: 5s retries: 5 environment: - TZ=Europe/Berlin volumes: - /volume1/docker/immich/redis:/data:rw restart: on-failure:5 immich-db: image: ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0 container_name: Immich-DB labels: - "com.centurylinklabs.watchtower.enable=false" hostname: immich-db security_opt: - no-new-privileges:true healthcheck: test: ["CMD", "pg_isready", "-q", "-d", "immich", "-U", "immichuser"] interval: 10s timeout: 5s retries: 5 shm_size: 128mb volumes: - /volume1/docker/immich/db:/var/lib/postgresql/data:rw environment: - TZ=Europe/Berlin - POSTGRES_DB=immich - POSTGRES_USER=immichuser - POSTGRES_PASSWORD=immichpw - DB_STORAGE_TYPE=HDD restart: on-failure:5 immich-server: image: ghcr.io/immich-app/immich-server:v2 container_name: Immich-SERVER labels: - "com.centurylinklabs.watchtower.enable=false" hostname: immich-server user: 1026:100 security_opt: - no-new-privileges:true environment: - TZ=Europe/Berlin - DB_HOSTNAME=immich-db - DB_USERNAME=immichuser - DB_PASSWORD=immichpw - DB_DATABASE_NAME=immich - REDIS_HOSTNAME=immich-redis - JWT_SECRET=MYKEY - UPLOAD_LOCATION=/data ports: - 8212:2283 volumes: - /volume1/docker/immich/upload:/data:rw - /volume1/homes:/mnt/homes:ro restart: on-failure:5 depends_on: immich-redis: condition: service_healthy immich-db: condition: service_started immich-machine-learning: image: ghcr.io/immich-app/immich-machine-learning:v2 container_name: Immich-LEARNING labels: - "com.centurylinklabs.watchtower.enable=false" hostname: immich-machine-learning user: 1026:100 security_opt: - no-new-privileges:true environment: - TZ=Europe/Berlin - DB_HOSTNAME=immich-db - DB_USERNAME=immichuser - DB_PASSWORD=immichpw - DB_DATABASE_NAME=immich - REDIS_HOSTNAME=immich-redis - JWT_SECRET=MYKEY - UPLOAD_LOCATION=/data - MPLCONFIGDIR=/matplotlib volumes: - /volume1/docker/immich/upload:/data:rw - /volume1/docker/immich/cache:/cache:rw - /volume1/docker/immich/cache:/.cache:rw - /volume1/docker/immich/cache:/.config:rw - /volume1/docker/immich/matplotlib:/matplotlib:rw restart: on-failure:5 depends_on: immich-db: condition: service_started