services: immich_db: container_name: immich_db image: ghcr.io/immich-app/postgres:18-vectorchord0.5.3-pgvector0.8.1@sha256:4d69da6e90cbaae3ddca1cd244e717a6e421488aaaf4fb8264d46c617ac9b5a2 restart: unless-stopped shm_size: 128mb environment: - POSTGRES_DB=${DB_DATABASE_NAME} - POSTGRES_USER=${DB_USERNAME} - POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_INITDB_ARGS='--data-checksums' - PGDATA=/var/lib/postgresql/18/docker volumes: - ${DB_PATH}:/var/lib/postgresql networks: - backend healthcheck: test: ["CMD-SHELL", "pg_isready -d ${DB_DATABASE_NAME} -U ${DB_USERNAME}"] interval: 10s timeout: 5s retries: 3 start_period: 10s immich_valkey: container_name: immich_valkey image: ghcr.io/valkey-io/valkey:9.0.1@sha256:546304417feac0874c3dd576e0952c6bb8f06bb4093ea0c9ca303c73cf458f63 restart: unless-stopped networks: - backend healthcheck: test: ["CMD-SHELL", "valkey-cli ping | grep PONG"] interval: 10s timeout: 5s retries: 3 start_period: 10s immich_server: container_name: immich_server image: ghcr.io/immich-app/immich-server:v2.4.1@sha256:e6a6298e67ae077808fdb7d8d5565955f60b0708191576143fc02d30ab1389d1 restart: unless-stopped depends_on: immich_db: condition: service_healthy immich_valkey: condition: service_healthy # env_file: # - .env environment: - DB_DATABASE_NAME=${DB_DATABASE_NAME} - DB_USERNAME=${DB_USERNAME} - DB_PASSWORD=${DB_PASSWORD} - DB_HOSTNAME=${DB_HOSTNAME} - REDIS_HOSTNAME=${REDIS_HOSTNAME} volumes: - ${UPLOAD_LOCATION}:/data - /etc/localtime:/etc/localtime:ro # - ${PHOTOS_PATH_1}:/usr/src/app/external/${USER_1}/photos:ro # - ${VIDEOS_PATH_1}:/usr/src/app/external/${USER_1}/videos:ro # - ${PHOTOS_PATH_2}:/usr/src/app/external/${USER_2}/photos:ro # - ${VIDEOS_PATH_2}:/usr/src/app/external/${USER_2}/videos:ro ports: - ${WebGUI_PORT}:2283 networks: - frontend - backend healthcheck: disable: false immich_machine_learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:v2.4.1@sha256:b3deefd1826f113824e9d7bc30d905e7f823535887d03f869330946b6db3b44a restart: unless-stopped # env_file: # - .env environment: - DB_DATABASE_NAME=${DB_DATABASE_NAME} - DB_USERNAME=${DB_USERNAME} - DB_PASSWORD=${DB_PASSWORD} - DB_HOSTNAME=${DB_HOSTNAME} - REDIS_HOSTNAME=${REDIS_HOSTNAME} volumes: - ${CACHE_PATH}:/cache networks: - backend healthcheck: disable: false networks: frontend: external: true backend: external: true