Skip to content

Instantly share code, notes, and snippets.

@iosifnicolae2
Last active November 22, 2022 21:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iosifnicolae2/b9cdbfd56789b6d9076bf6c4e39c3f57 to your computer and use it in GitHub Desktop.
Save iosifnicolae2/b9cdbfd56789b6d9076bf6c4e39c3f57 to your computer and use it in GitHub Desktop.
Kafka with SASL/SCRAM authentication - docker-compose.yml
SPRING_SECURITY_USER_NAME=dev
SPRING_SECURITY_USER_PASSWORD=your-password
KAFKA_ROOT_USER=dev
KAFKA_ROOT_PASSWORD=your-password
KAFKA_CLIENT_USER=dev
KAFKA_CLIENT_PASSWORD=your-password

Kafka with SASL/SCRAM authentication

mkdir -p data/clickhouse/; \
	chown -R 1001 data/clickhouse/; \
	mkdir -p data/zookeeper; \
	chown -R 1001 data/zookeeper; \
	mkdir -p data/kafka/; \
	chown -R 1001 data/kafka/;

docker-compose up
version: '3.2'
services:
zookeeper:
image: 'bitnami/zookeeper:latest'
hostname: zoo
container_name: zookeeper
restart: unless-stopped
volumes:
- "./data/zookeeper:/bitnami"
environment:
- ZOO_ENABLE_AUTH=yes
- ZOO_SERVER_USERS=${KAFKA_ROOT_USER}
- ZOO_SERVER_PASSWORDS=${KAFKA_ROOT_PASSWORD}
kafka:
image: 'bitnami/kafka:latest'
hostname: kafka
container_name: kafka
restart: unless-stopped
ports:
- '9093'
volumes:
- "./data/kafka:/bitnami"
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- KAFKA_CFG_LISTENERS=INTERNAL://:9092,EXTERNAL://:9093
- KAFKA_CFG_ADVERTISED_LISTENERS=INTERNAL://kafka:9092,EXTERNAL://:9093
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:SASL_PLAINTEXT,EXTERNAL:SASL_PLAINTEXT
- KAFKA_CFG_SASL_ENABLED_MECHANISMS=SCRAM-SHA-512
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=INTERNAL
- KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL=SCRAM-SHA-512
- KAFKA_ZOOKEEPER_PROTOCOL=SASL_PLAINTEXT
- KAFKA_ZOOKEEPER_USER=${KAFKA_ROOT_USER}
- KAFKA_ZOOKEEPER_PASSWORD=${KAFKA_ROOT_PASSWORD}
- KAFKA_CLIENT_USERS=${KAFKA_ROOT_USER},${KAFKA_CLIENT_USER}
- KAFKA_CLIENT_PASSWORDS=${KAFKA_ROOT_PASSWORD},${KAFKA_CLIENT_PASSWORD}
depends_on:
- zookeeper
kafka-ui:
image: provectuslabs/kafka-ui
container_name: kafka-ui
restart: unless-stopped
ports:
- "8080:8080"
env_file:
- ./.env
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:9092
AUTH_TYPE: LOGIN_FORM
KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: SASL_PLAINTEXT
KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM: SCRAM-SHA-512
KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG: "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"${KAFKA_ROOT_USER}\" password=\"${KAFKA_ROOT_PASSWORD}\";"
depends_on:
- kafka
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment