version: '3.8' services: rabbitmq: image: rabbitmq:3-management container_name: rabbitmq ports: - 5672:5672 - 15672:15672 environment: RABBITMQ_DEFAULT_USER: rabbitmq RABBITMQ_DEFAULT_PASS: rabbitmq volumes: - rabbitmq-data:/var/lib/rabbitmq healthcheck: test: ["CMD", "rabbitmqctl", "status"] interval: 10s timeout: 5s retries: 5 networks: - weblyft redis-stack: image: redis/redis-stack:latest container_name: redis-stack ports: - "6379:6379" - "8001:8001" networks: - weblyft # zookeeper: # image: confluentinc/cp-zookeeper:latest # container_name: zookeeper # ports: # - 2181:2181 # environment: # ZOOKEEPER_CLIENT_PORT: 2181 # networks: # - weblyft kafka: image: bitnami/kafka:latest container_name: kafka ports: - "9092:9092" - "29092:29092" environment: - KAFKA_CFG_NODE_ID=0 - KAFKA_CFG_PROCESS_ROLES=controller,broker - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@localhost:9093 - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093,INTERNAL://:29092 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092,INTERNAL://kafka:29092 - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,INTERNAL:PLAINTEXT - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER - KAFKA_CFG_INTER_BROKER_LISTENER_NAME=INTERNAL - KAFKA_KRAFT_CLUSTER_ID=MkU3OEVBNTcwNTJENDM2Qk - ALLOW_PLAINTEXT_LISTENER=yes - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true volumes: - kafka_data:/bitnami/kafka networks: - weblyft restart: unless-stopped kafka-ui: image: provectuslabs/kafka-ui:latest container_name: kafka-ui ports: - "8080:8080" depends_on: - kafka environment: - KAFKA_CLUSTERS_0_NAME=weblyft - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:29092 volumes: - kafka_data:/bitnami/kafka-ui networks: - weblyft # clickhouse: # image: clickhouse/clickhouse-server:latest # container_name: clickhouse # ports: # - "8123:8123" # HTTP # - "9000:9000" # Native TCP # environment: # CLICKHOUSE_USER: default # CLICKHOUSE_PASSWORD: default # CLICKHOUSE_DB: weblyft # volumes: # - clickhouse-data:/var/lib/clickhouse # networks: # - weblyft # restart: always # api-server: # build: ./api-server # container_name: api-server # depends_on: # - kafka # - clickhouse # ports: # - 5000:5000 # volumes: # - .:/app/api-server # networks: # - weblyft # env_file: # - ./src/api-server/.env # docker-mgr: # build: ./docker-mgr # container_name: docker-mgr # ports: # - 9000:9000 # volumes: # - .:/app/docker-mgr # networks: # - weblyft # env_file: # - ./src/docker-mgr/.env # reverse-proxy: # build: ./reverse-proxy # container_name: reverse-proxy # ports: # - 8080:8080 # volumes: # - .:/app/reverse-proxy # networks: # - weblyft # env_file: # - ./src/reverse-proxy/.env networks: weblyft: driver: bridge volumes: # public: rabbitmq-data: clickhouse-data: kafka_data: