name: immich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:release volumes: - /data/immich/upload:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro environment: DB_USERNAME: postgres DB_PASSWORD: HISTORY_PURGED_SECRET DB_DATABASE_NAME: immich ports: - 2283:3001 depends_on: - redis - database restart: always immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:release volumes: - model-cache:/cache environment: DB_USERNAME: postgres DB_PASSWORD: HISTORY_PURGED_SECRET DB_DATABASE_NAME: immich restart: always redis: container_name: immich_redis image: docker.io/redis:6.2-alpine healthcheck: test: redis-cli ping || exit 1 restart: always database: container_name: immich_postgres image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0 environment: POSTGRES_PASSWORD: {{ immich_pg_password }} POSTGRES_USER: postgres POSTGRES_DB: immich POSTGRES_INITDB_ARGS: '--data-checksums' volumes: - /data/immich/pgdata:/var/lib/postgresql/data healthcheck: test: pg_isready --dbname='immich' --username='postgres' || exit 1; Chksum="$$(psql --dbname='immich' --username='postgres' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1 interval: 5m start_interval: 30s start_period: 5m command: ["postgres", "-c" ,"shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"] restart: always volumes: model-cache: