############################# # Ports Exposed # 4000 - Imex Node API # 3333 - SocketIO Admin-UI # 3334 - Redis-Insights ############################# services: redis-node-1: build: context: ./redis container_name: redis-node-1 hostname: redis-node-1 restart: always networks: - redis-cluster-net volumes: - redis-node-1-data:/data - redis-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-node-2-data:/data - redis-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-node-3-data:/data - redis-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 volumes: - redis-insight-data:/db networks: redis-cluster-net: driver: bridge volumes: redis-node-1-data: redis-node-2-data: redis-node-3-data: redis-lock: redis-insight-data: