version: '3' services: zookeeper-1: image: confluentinc/cp-zookeeper:latest container_name: zookeeper-1 environment: ZOOKEEPER_SERVER_ID: 1 ZOOKEEPER_CLIENT_PORT: 22181 ZOOKEEPER_TICK_TIME: 2000 ports: - "22181:22181" volumes: - /data/kafka/zookeeper/data:/var/lib/zookeeper/data - /data/kafka/zookeeper/log:/var/lib/zookeeper/log broker-1: image: confluentinc/cp-kafka:latest container_name: broker-1 ports: - "19092:19092" depends_on: - zookeeper-1 environment: KAFKA_BROKER_ID: 1 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true" KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:22181' KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker-1:19092,PLAINTEXT_HOST://localhost:29092 KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT volumes: - /data/kafka/broker/01:/var/lib/kafka/data broker-2: image: confluentinc/cp-kafka:latest container_name: broker-2 ports: - "19093:19093" depends_on: - zookeeper-1 environment: KAFKA_BROKER_ID: 2 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true" KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:22181' KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker-2:19093,PLAINTEXT_HOST://localhost:29093 KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT volumes: - /data/kafka/broker/02:/var/lib/kafka/data broker-3: image: confluentinc/cp-kafka:latest container_name: broker-3 ports: - "19094:19094" depends_on: - zookeeper-1 environment: KAFKA_BROKER_ID: 3 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true" KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:22181' KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker-3:19094,PLAINTEXT_HOST://localhost:29094 KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT volumes: - /data/kafka/broker/03:/var/lib/kafka/data kafka-ui: container_name: kafka-ui image: provectuslabs/kafka-ui:latest ports: - 18080:8080 # Changed to avoid port clash with akhq depends_on: - broker-1 - broker-2 - broker-3 environment: KAFKA_CLUSTERS_0_NAME: local KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: broker-1:19092,broker-2:19093,broker-3:19094 # KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schema-registry:8081 # KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME: connect # KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS: http://kafka-connect:8083 DYNAMIC_CONFIG_ENABLED: 'true'