Skip to content

Instantly share code, notes, and snippets.

@TaQuanMinhLong
Last active February 8, 2024 10:11
Show Gist options
  • Select an option

  • Save TaQuanMinhLong/6914740c41c638b8aa5f70c32c9464b6 to your computer and use it in GitHub Desktop.

Select an option

Save TaQuanMinhLong/6914740c41c638b8aa5f70c32c9464b6 to your computer and use it in GitHub Desktop.
Kafka Docker Setup
version: '3.8'
services:
kafka:
container_name: kafka
image: bitnami/kafka
networks:
- kafka.net
restart: unless-stopped
ports:
- "9092:9092"
environment:
# Optional settings
KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: 'true'
# Workaround for https://github.com/bitnami/containers/issues/55274
KAFKA_CFG_MESSAGE_MAX_BYTES: 1048588
# KRaft settings
KAFKA_CFG_NODE_ID: 0
KAFKA_CFG_PROCESS_ROLES: controller,broker
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: '0@kafka:29093'
# Listeners
KAFKA_LISTENERS: 'PLAINTEXT://kafka:29092,CONTROLLER://kafka:29093,PLAINTEXT_HOST://0.0.0.0:9092'
# `kafka:29092` is for kafka ui and `localhost:9092` is for service development
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_CFG_CONTROLLER_LISTENER_NAMES: CONTROLLER
KAFKA_CFG_INTER_BROKER_LISTENER_NAME: PLAINTEXT
volumes:
- ./.temp/services/kafka:/bitnami/kafka
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:29092
depends_on:
- kafka
networks:
- kafka.net
ports:
- 8080:8080
networks:
kafka.net:
name: kafka.net
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment