version: "3.7" x-environment: &env NODE_ENV: "production" DB_HOSTNAME: "immich_postgres_1" DB_USERNAME: &db_username "immich" DB_PASSWORD: &db_password "moneyprintergobrrr" DB_DATABASE_NAME: &db_database_name "immich" REDIS_HOSTNAME: "immich_redis_1" LOG_LEVEL: "log" JWT_SECRET: ${APP_SEED} DISABLE_REVERSE_GEOCODING: "false" REVERSE_GEOCODING_PRECISION: "3" PUBLIC_LOGIN_PAGE_MESSAGE: "" IMMICH_MACHINE_LEARNING_URL: "http://immich_machine-learning_1:3003" services: app_proxy: environment: APP_HOST: immich_server_1 APP_PORT: 3001 PROXY_AUTH_WHITELIST: "/api/*,/search/*" server: image: ghcr.io/immich-app/immich-server:v1.114.0@sha256:df4ae6d2bf8aa3ebd6370b42a667a007c5e7452a1cd2ab4c22fbaff9a69ffcbc volumes: - ${APP_DATA_DIR}/data/upload:/usr/src/app/upload environment: <<: *env depends_on: - redis - postgres restart: on-failure machine-learning: image: ghcr.io/immich-app/immich-machine-learning:v1.114.0@sha256:c0300d34fb275343c8e3b50796c9b10e6f33218e84c958386a218fbdceaeed65 volumes: - ${APP_DATA_DIR}/data/model-cache:/cache environment: <<: *env restart: on-failure redis: image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3 user: "1000:1000" restart: on-failure volumes: - ${APP_DATA_DIR}/data/redis:/data postgres: image: tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 user: "1000:1000" 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"] environment: <<: *env POSTGRES_PASSWORD: *db_password POSTGRES_USER: *db_username POSTGRES_DB: *db_database_name POSTGRES_INITDB_ARGS: '--data-checksums' volumes: - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data restart: on-failure