version: "3.9" services: immich-redis: image: redis container_name: immich-redis hostname: immich-redis security_opt: - no-new-privileges:true healthcheck: test: ["CMD-SHELL", "redis-cli ping || exit 1"] user: 1035:100 environment: - TZ=Europe/Berlin volumes: - /volume1/docker/immich/redis:/data:rw restart: on-failure:5 immich-db: image: tensorchord/pgvecto-rs:pg16-v0.2.0 container_name: immich-db 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 volumes: - /volume1/docker/immich/db:/var/lib/postgresql/data:rw environment: - TZ=Europe/Berlin - POSTGRES_DB=immich - POSTGRES_USER=immichuser - POSTGRES_PASSWORD=immichpw restart: on-failure:5 immich-server: image: ghcr.io/immich-app/immich-server:release container_name: immich-server hostname: immich-server user: 1035:100 security_opt: - no-new-privileges:true env_file: - stack.env ports: - 2283:2283 volumes: - /volume1/docker/immich/upload:/usr/src/app/upload:rw 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:release container_name: immich-machine-learning hostname: immich-machine-learning user: 1035:100 security_opt: - no-new-privileges:true env_file: - stack.env volumes: - /volume1/docker/immich/upload:/usr/src/app/upload:rw - /volume1/docker/immich/cache:/cache:rw - /volume1/docker/immich/matplotlib:/matplotlib:rw environment: - MPLCONFIGDIR=/matplotlib restart: on-failure:5 depends_on: immich-db: condition: service_started