diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 0d076b14cf..9396895158 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -114,9 +114,12 @@ services: # The sample rate for Sentry profiles. Default: `1.0` SENTRY_PROFILES_SAMPLE_RATE: 1.0 depends_on: - - db - - redis - - weaviate + db: + condition: service_healthy + redis: + condition: service_healthy + weaviate: + condition: service_started volumes: # Mount the storage directory to the container, for storing user files. - ./volumes/app/storage:/app/api/storage @@ -167,9 +170,12 @@ services: # the api-key for resend (https://resend.com) RESEND_API_KEY: '' depends_on: - - db - - redis - - weaviate + db: + condition: service_healthy + redis: + condition: service_healthy + weaviate: + condition: service_started volumes: # Mount the storage directory to the container, for storing user files. - ./volumes/app/storage:/app/api/storage @@ -206,6 +212,11 @@ services: - ./volumes/db/data:/var/lib/postgresql/data ports: - "5432:5432" + healthcheck: + test: ["CMD", "pg_isready"] + interval: 1s + timeout: 3s + retries: 30 # The redis cache. redis: @@ -216,6 +227,8 @@ services: - ./volumes/redis/data:/data # Set the redis password when startup redis server. command: redis-server --requirepass difyai123456 + healthcheck: + test: ["CMD", "redis-cli","ping"] # The Weaviate vector store. weaviate: