1+ # This is a compose file designed for arm64/Apple Silicon systems
2+ # To adapt this to x86 please find and replace ".arm64" with empty
3+
14# ARM64 supported images for kafka can be found here
25# https://hub.docker.com/r/confluentinc/cp-kafka/tags?page=1&name=arm64
36---
4- version : ' 2'
7+ version : ' 3.8'
8+ name : " kafbat-ui-dev"
9+
510services :
11+
612 kafbat-ui :
713 container_name : kafbat-ui
814 image : ghcr.io/kafbat/kafka-ui:latest
@@ -12,19 +18,22 @@ services:
1218 - kafka0
1319 - schema-registry0
1420 - kafka-connect0
21+ - ksqldb0
1522 environment :
1623 KAFKA_CLUSTERS_0_NAME : local
1724 KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS : kafka0:29092
1825 KAFKA_CLUSTERS_0_METRICS_PORT : 9997
1926 KAFKA_CLUSTERS_0_SCHEMAREGISTRY : http://schema-registry0:8085
2027 KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME : first
2128 KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS : http://kafka-connect0:8083
22- DYNAMIC_CONFIG_ENABLED : ' true' # not necessary, added for tests
29+ KAFKA_CLUSTERS_0_KSQLDBSERVER : http://ksqldb0:8088
30+ DYNAMIC_CONFIG_ENABLED : ' true'
2331 KAFKA_CLUSTERS_0_AUDIT_TOPICAUDITENABLED : ' true'
2432 KAFKA_CLUSTERS_0_AUDIT_CONSOLEAUDITENABLED : ' true'
2533
2634 kafka0 :
27- image : confluentinc/cp-kafka:7.2.1.arm64
35+ image : confluentinc/cp-kafka:7.8.0.arm64
36+ user : " 0:0"
2837 hostname : kafka0
2938 container_name : kafka0
3039 ports :
@@ -46,13 +55,12 @@ services:
4655 KAFKA_CONTROLLER_LISTENER_NAMES : ' CONTROLLER'
4756 KAFKA_LOG_DIRS : ' /tmp/kraft-combined-logs'
4857 KAFKA_JMX_PORT : 9997
58+ # KAFKA_JMX_HOSTNAME: localhost # uncomment this line and comment the next one if running with kafka-ui as a jar
4959 KAFKA_JMX_OPTS : -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka0 -Dcom.sun.management.jmxremote.rmi.port=9997
50- volumes :
51- - ./scripts/update_run.sh:/tmp/update_run.sh
52- command : " bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \" ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"
60+ CLUSTER_ID : ' MkU3OEVBNTcwNTJENDM2Qk'
5361
5462 schema-registry0 :
55- image : confluentinc/cp-schema-registry:7.2.1 .arm64
63+ image : confluentinc/cp-schema-registry:7.8.0 .arm64
5664 ports :
5765 - 8085:8085
5866 depends_on :
@@ -68,7 +76,7 @@ services:
6876 SCHEMA_REGISTRY_KAFKASTORE_TOPIC : _schemas
6977
7078 kafka-connect0 :
71- image : confluentinc/cp-kafka-connect:7.2.1 .arm64
79+ image : confluentinc/cp-kafka-connect:7.8.0 .arm64
7280 ports :
7381 - 8083:8083
7482 depends_on :
@@ -90,12 +98,30 @@ services:
9098 CONNECT_INTERNAL_KEY_CONVERTER : org.apache.kafka.connect.json.JsonConverter
9199 CONNECT_INTERNAL_VALUE_CONVERTER : org.apache.kafka.connect.json.JsonConverter
92100 CONNECT_REST_ADVERTISED_HOST_NAME : kafka-connect0
93- CONNECT_PLUGIN_PATH : " /usr/share/java,/usr/share/confluent-hub-components"
101+ CONNECT_PLUGIN_PATH : " /usr/share/java,/usr/share/confluent-hub-components,/usr/local/share/kafka/plugins,/usr/share/filestream-connectors"
102+
103+ ksqldb0 :
104+ image : confluentinc/cp-ksqldb-server:7.8.0.arm64
105+ depends_on :
106+ - kafka0
107+ - kafka-connect0
108+ - schema-registry0
109+ environment :
110+ KSQL_CUB_KAFKA_TIMEOUT : 120
111+ KSQL_LISTENERS : http://0.0.0.0:8088
112+ KSQL_BOOTSTRAP_SERVERS : PLAINTEXT://kafka0:29092
113+ KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE : " true"
114+ KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE : " true"
115+ KSQL_KSQL_CONNECT_URL : http://kafka-connect0:8083
116+ KSQL_KSQL_SCHEMA_REGISTRY_URL : http://schema-registry0:8085
117+ KSQL_KSQL_SERVICE_ID : my_ksql_1
118+ KSQL_KSQL_HIDDEN_TOPICS : ' ^_.*'
119+ KSQL_CACHE_MAX_BYTES_BUFFERING : 0
94120
95121 kafka-init-topics :
96- image : confluentinc/cp-kafka:7.2.1 .arm64
122+ image : confluentinc/cp-kafka:7.8.0 .arm64
97123 volumes :
98- - ./data/message.json:/data/message.json
124+ - ../documentation/compose /data/message.json:/data/message.json
99125 depends_on :
100126 - kafka0
101127 command : " bash -c 'echo Waiting for Kafka to be ready... && \
0 commit comments