diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 248564a..b2e5c5b 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -18,8 +18,10 @@ services: environment: ACTION_EXECUTION_MODE: worker depends_on: - - postgres - - redis + postgres: + condition: service_healthy + redis: + condition: service_healthy restart: unless-stopped worker: @@ -31,8 +33,10 @@ services: environment: ACTION_EXECUTION_MODE: worker depends_on: - - postgres - - redis + postgres: + condition: service_healthy + redis: + condition: service_healthy restart: unless-stopped frontend: @@ -60,6 +64,12 @@ services: POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"] + interval: 5s + timeout: 5s + retries: 12 + start_period: 5s volumes: - postgres_data:/var/lib/postgresql/data restart: unless-stopped @@ -67,6 +77,12 @@ services: redis: image: redis:7-alpine command: ["redis-server", "--appendonly", "yes"] + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 5s + timeout: 3s + retries: 12 + start_period: 2s volumes: - redis_data:/data restart: unless-stopped diff --git a/docker-compose.yml b/docker-compose.yml index 5a07a5b..6ab8062 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,8 +9,10 @@ services: ports: - "8000:8000" depends_on: - - postgres - - redis + postgres: + condition: service_healthy + redis: + condition: service_healthy worker: build: @@ -21,8 +23,10 @@ services: environment: ACTION_EXECUTION_MODE: worker depends_on: - - postgres - - redis + postgres: + condition: service_healthy + redis: + condition: service_healthy frontend: build: @@ -48,6 +52,12 @@ services: POSTGRES_DB: ${POSTGRES_DB:-server_panel} POSTGRES_USER: ${POSTGRES_USER:-server_panel} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-change-me} + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"] + interval: 5s + timeout: 5s + retries: 12 + start_period: 5s ports: - "5432:5432" volumes: @@ -55,6 +65,12 @@ services: redis: image: redis:7-alpine + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 5s + timeout: 3s + retries: 12 + start_period: 2s ports: - "6379:6379"