diff --git a/docker-compose.yml b/docker-compose.yml index d1ef9dd8..606b0983 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,10 +1,17 @@ -version: '3' +version: '3.8' services: server: container_name: server restart: unless-stopped build: ./server + depends_on: + db: + condition: service_healthy + redis: + condition: service_healthy + graylog: + condition: service_healthy networks: - local ports: @@ -27,6 +34,11 @@ services: - '5432:5432' env_file: - '.env' + healthcheck: + test: [ "CMD-SHELL", "pg_isready -U postgres" ] + interval: 10s + timeout: 5s + retries: 5 frontend: container_name: frontend @@ -55,6 +67,11 @@ services: - '6379:6379' environment: - REDIS_REPLICATION_MODE=master + healthcheck: + test: [ "CMD", "redis-cli", "ping" ] + interval: 1s + timeout: 3s + retries: 30 nginx: image: nginx:latest @@ -108,8 +125,10 @@ services: graylog: image: "graylog/graylog:4.2" depends_on: - - elasticsearch - - mongodb + elasticsearch: + condition: "service_started" + mongodb: + condition: "service_started" entrypoint: "/usr/bin/tini -- wait-for-it elasticsearch:9200 -- /docker-entrypoint.sh" environment: GRAYLOG_NODE_ID_FILE: "/usr/share/graylog/data/config/node-id" @@ -141,4 +160,4 @@ networks: local: driver: bridge public: - driver: bridge + driver: bridge \ No newline at end of file