services: postgres: image: pgvector/pgvector:pg16 env_file: - .env.${NODE_ENV:-development} ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data - ./docker/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh healthcheck: test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] interval: 2s timeout: 5s retries: 30 command: postgres -c wal_level=logical clickhouse: image: clickhouse/clickhouse-server:26.2 env_file: - .env.${NODE_ENV:-development} ports: - "8123:8123" - "9000:9000" volumes: - clickhouse_data:/var/lib/clickhouse - ./docker/clickhouse/storage.xml:/etc/clickhouse-server/config.d/storage.xml:ro redis: image: redis:7 env_file: - .env.${NODE_ENV:-development} ports: - "6379:6379" redis-bullmq: image: redis:7 command: redis-server --maxmemory-policy noeviction ports: - "6380:6379" mailpit: image: axllent/mailpit:v1.24 env_file: - .env.${NODE_ENV:-development} ports: - "127.0.0.1:1025:1025" - "127.0.0.1:8025:8025" temporal: image: temporalio/auto-setup:1.27.2 depends_on: postgres: condition: service_healthy env_file: - .env.${NODE_ENV:-development} environment: DB: postgres12 DB_PORT: 5432 POSTGRES_USER: ${POSTGRES_USER:-latitude} POSTGRES_PWD: ${POSTGRES_PASSWORD:-secret} POSTGRES_SEEDS: postgres TEMPORAL_ADDRESS: temporal:7233 ports: - "7233:7233" temporal-ui: image: temporalio/ui:2.36.0 depends_on: - temporal environment: TEMPORAL_ADDRESS: temporal:7233 TEMPORAL_CORS_ORIGINS: http://localhost:8233 ports: - "8233:8080" volumes: postgres_data: clickhouse_data: