add kafka for dev
This commit is contained in:
@@ -11,6 +11,7 @@ volumes:
|
||||
influx-data:
|
||||
postgres:
|
||||
redis:
|
||||
kafka:
|
||||
|
||||
services:
|
||||
|
||||
@@ -73,3 +74,71 @@ services:
|
||||
- 6379:6379
|
||||
volumes:
|
||||
- redis:/data
|
||||
|
||||
kafka:
|
||||
image: bitnami/kafka:latest
|
||||
container_name: Kafka
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 9091:9091
|
||||
environment:
|
||||
# ---- KRaft single-node (broker + controller) ----
|
||||
- KAFKA_ENABLE_KRAFT=yes
|
||||
- KAFKA_CFG_PROCESS_ROLES=broker,controller
|
||||
- KAFKA_CFG_NODE_ID=1
|
||||
- KAFKA_KRAFT_CLUSTER_ID=Q1BGMDAwMDAwMDAwMDAwMA
|
||||
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
|
||||
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
|
||||
|
||||
# ---- Listeners ----
|
||||
# Bind all, three names: INTERNAL (cluster+in-docker clients), EXTERNAL (host clients), CONTROLLER (KRaft)
|
||||
- KAFKA_CFG_LISTENERS=INTERNAL://:9092,EXTERNAL://:9091,CONTROLLER://:9093
|
||||
# How clients discover us:
|
||||
- KAFKA_CFG_ADVERTISED_LISTENERS=INTERNAL://kafka:9092,EXTERNAL://localhost:9091
|
||||
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,INTERNAL:SASL_PLAINTEXT,EXTERNAL:SASL_PLAINTEXT
|
||||
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=INTERNAL
|
||||
|
||||
# ---- SASL/PLAIN (no TLS) ----
|
||||
# Enable PLAIN globally and for both listeners
|
||||
- KAFKA_CFG_SASL_ENABLED_MECHANISMS=PLAIN
|
||||
- KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL=PLAIN
|
||||
- KAFKA_CFG_LISTENER_NAME_INTERNAL_SASL_ENABLED_MECHANISMS=PLAIN
|
||||
- KAFKA_CFG_LISTENER_NAME_EXTERNAL_SASL_ENABLED_MECHANISMS=PLAIN
|
||||
|
||||
# Users (Bitnami helper vars wire JAAS for you)
|
||||
- KAFKA_CLIENT_USERS=kafka
|
||||
- KAFKA_CLIENT_PASSWORDS=password
|
||||
- KAFKA_INTER_BROKER_USER=broker
|
||||
- KAFKA_INTER_BROKER_PASSWORD=password
|
||||
|
||||
# Dev-friendly defaults
|
||||
- KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
|
||||
- KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=1
|
||||
- KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1
|
||||
- KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=1
|
||||
- KAFKA_HEAP_OPTS=-Xms512m -Xmx512m
|
||||
volumes:
|
||||
- kafka:/bitnami/kafka
|
||||
networks:
|
||||
- develop
|
||||
|
||||
kafka-ui:
|
||||
image: provectuslabs/kafka-ui:latest
|
||||
container_name: KafkaUi
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- kafka
|
||||
ports:
|
||||
- "9090:8080"
|
||||
environment:
|
||||
# Optional: allow adding clusters dynamically in UI
|
||||
- DYNAMIC_CONFIG_ENABLED=true
|
||||
|
||||
# First cluster: local Docker Kafka
|
||||
- KAFKA_CLUSTERS_0_NAME=local
|
||||
- KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092
|
||||
- KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL=SASL_PLAINTEXT
|
||||
- KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM=PLAIN
|
||||
- KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="password";
|
||||
networks:
|
||||
- develop
|
||||
|
||||
Reference in New Issue
Block a user