services: redis-node-1: build: context: ./redis container_name: redis-node-1 hostname: redis-node-1 restart: always networks: - redis-cluster-net volumes: - ./redis/dockerdata/redis-node-1:/data - ./redis/dockerdata/lock:/redis-lock healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 10 redis-node-2: build: context: ./redis container_name: redis-node-2 hostname: redis-node-2 restart: always networks: - redis-cluster-net volumes: - ./redis/dockerdata/redis-node-2:/data - ./redis/dockerdata/lock:/redis-lock healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 10 redis-node-3: build: context: ./redis container_name: redis-node-3 hostname: redis-node-3 restart: always networks: - redis-cluster-net volumes: - ./redis/dockerdata/redis-node-3:/data - ./redis/dockerdata/lock:/redis-lock healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 10 node-app: build: context: . container_name: node-app hostname: imex-api 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" volumes: - .:/app - /app/node_modules socketio-admin-ui: image: maitrungduc1410/socket.io-admin-ui container_name: socketio-admin-ui networks: - redis-cluster-net ports: - "3333:80" redis-insight: image: redislabs/redisinsight:latest container_name: redis-insight hostname: redis-insight restart: always ports: - "3334:5540" networks: - redis-cluster-net networks: redis-cluster-net: driver: bridge