version: '3.9' services: redis-node-1: build: context: ./redis container_name: redis-node-1 hostname: redis-node-1 networks: - redis-cluster-net volumes: - ./redis/dockerdata/redis-node-1:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 redis-node-2: build: context: ./redis container_name: redis-node-2 hostname: redis-node-2 networks: - redis-cluster-net volumes: - ./redis/dockerdata/redis-node-2:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 redis-node-3: build: context: ./redis container_name: redis-node-3 hostname: redis-node-3 networks: - redis-cluster-net volumes: - ./redis/dockerdata/redis-node-3:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 node-app: build: context: . container_name: node-app networks: - redis-cluster-net env_file: - .env.development depends_on: redis-node-1: condition: service_healthy redis-node-2: condition: service_healthy redis-node-3: condition: service_healthy ports: - "4000:4000" networks: redis-cluster-net: driver: bridge