services: zookeeper-qa-1: image: 'docker.io/bitnami/zookeeper:3.8.1-debian-11-r44' container_name: zookeeper-qa-1 hostname: zookeeper-qa-1 restart: always ports: - '2181' networks: - portal_qa deploy: placement: constraints: - "node.hostname==tt-test-01" volumes: - zookeeper-qa-1-data:/bitnami environment: - ZOO_SERVER_ID=1 - ALLOW_ANONYMOUS_LOGIN=yes - ZOO_SERVERS=zookeeper-qa-1:2888:3888,zookeeper-qa-2:2888:3888,zookeeper-qa-3:2888:3888 zookeeper-qa-2: image: 'docker.io/bitnami/zookeeper:3.8.1-debian-11-r44' hostname: zookeeper-qa-2 container_name: zookeeper-qa-2 restart: always ports: - '2181' networks: - portal_qa deploy: placement: constraints: - "node.hostname==tt-test-01" volumes: - zookeeper-qa-2-data:/bitnami environment: - ZOO_SERVER_ID=2 - ALLOW_ANONYMOUS_LOGIN=yes - ZOO_SERVERS=zookeeper-qa-1:2888:3888,zookeeper-qa-2:2888:3888,zookeeper-qa-3:2888:3888 zookeeper-qa-3: image: 'docker.io/bitnami/zookeeper:3.8.1-debian-11-r44' container_name: zookeeper-qa-3 hostname: zookeeper-qa-3 restart: always ports: - '2181' networks: - portal_qa deploy: placement: constraints: - "node.hostname==tt-test-01" volumes: - zookeeper-qa-3-data:/bitnami environment: - ZOO_SERVER_ID=3 - ALLOW_ANONYMOUS_LOGIN=yes - ZOO_SERVERS=zookeeper-qa-1:2888:3888,zookeeper-qa-2:2888:3888,zookeeper-qa-3:2888:3888 kafka-qa-1: image: 'docker.io/bitnami/kafka:3.3.2-debian-11-r4' hostname: kafka-qa-1 container_name: kafka-qa-1 restart: always ports: - 9092:9092 networks: - portal_qa deploy: placement: constraints: - "node.hostname==tt-test-01" environment: - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-qa-1:2181,zookeeper-qa-2:2181,zookeeper-qa-3:2181 - ALLOW_PLAINTEXT_LISTENER=yes - KAFKA_CFG_ADVERTISED_LISTENERS=EXTERNAL://:9092 - KAFKA_INTER_BROKER_LISTENER_NAME=EXTERNAL - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT - KAFKA_CFG_LISTENERS=EXTERNAL://:9092 - KAFKA_CFG_DEFAULT_REPLICATION_FACTOR=3 - BITNAMI_DEBUG=true volumes: - 'kafka-qa-1-data:/bitnami' depends_on: - zookeeper-qa-1 - zookeeper-qa-2 - zookeeper-qa-3 kafka-qa-2: image: 'docker.io/bitnami/kafka:3.3.2-debian-11-r4' hostname: kafka-qa-2 container_name: kafka-qa-2 restart: always ports: - 9095:9095 networks: - portal_qa deploy: placement: constraints: - "node.hostname==tt-test-01" environment: - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-qa-1:2181,zookeeper-qa-2:2181,zookeeper-qa-3:2181 - ALLOW_PLAINTEXT_LISTENER=yes - KAFKA_CFG_ADVERTISED_LISTENERS=EXTERNAL://:9095 - KAFKA_INTER_BROKER_LISTENER_NAME=EXTERNAL - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT - KAFKA_CFG_LISTENERS=EXTERNAL://:9095 - KAFKA_CFG_DEFAULT_REPLICATION_FACTOR=3 - BITNAMI_DEBUG=true volumes: - 'kafka-qa-2-data:/bitnami' depends_on: - zookeeper-qa-1 - zookeeper-qa-2 - zookeeper-qa-3 kafka-qa-3: image: 'docker.io/bitnami/kafka:3.3.2-debian-11-r4' hostname: kafka-qa-3 container_name: kafka-qa-3 restart: always ports: - 9094:9094 networks: - portal_qa deploy: placement: constraints: - "node.hostname==tt-test-01" environment: - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-qa-1:2181,zookeeper-qa-2:2181,zookeeper-qa-3:2181 - ALLOW_PLAINTEXT_LISTENER=yes - KAFKA_CFG_ADVERTISED_LISTENERS=EXTERNAL://:9094 - KAFKA_INTER_BROKER_LISTENER_NAME=EXTERNAL - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT - KAFKA_CFG_LISTENERS=EXTERNAL://:9094 - KAFKA_CFG_DEFAULT_REPLICATION_FACTOR=3 - BITNAMI_DEBUG=true volumes: - 'kafka-qa-3-data:/bitnami' depends_on: - zookeeper-qa-1 - zookeeper-qa-2 - zookeeper-qa-3 kafka_manager: image: hlebalbau/kafka-manager:stable container_name: kafka_manager restart: always ports: - "9101:9000" networks: - portal_qa deploy: placement: constraints: - "node.hostname==tt-test-01" environment: ZK_HOSTS: "zookeeper-qa-1:2181,zookeeper-qa-2:2181,zookeeper-qa-3:2181" APPLICATION_SECRET: "random-secret" command: -Dpidfile.path=/dev/null volumes: kafka-qa-1-data: driver: local driver_opts: type: none device: /data/container_volumes/kafka-qa-1-data o: bind kafka-qa-2-data: driver: local driver_opts: type: none device: /data/container_volumes/kafka-qa-2-data o: bind kafka-qa-3-data: driver: local driver_opts: type: none device: /data/container_volumes/kafka-qa-3-data o: bind zookeeper-qa-1-data: driver: local driver_opts: type: none device: /data/container_volumes/zookeeper-qa-1-data o: bind zookeeper-qa-2-data: driver: local driver_opts: type: none device: /data/container_volumes/zookeeper-qa-2-data o: bind zookeeper-qa-3-data: driver: local driver_opts: type: none device: /data/container_volumes/zookeeper-qa-3-data o: bind networks: portal_qa: external: true