Skip to content

Instantly share code, notes, and snippets.

@thangtv611
Created July 16, 2024 10:08
Show Gist options
  • Save thangtv611/fb3b19258b73dc9eb3551a7f244f76f0 to your computer and use it in GitHub Desktop.
Save thangtv611/fb3b19258b73dc9eb3551a7f244f76f0 to your computer and use it in GitHub Desktop.
Kafka with Schema management local
version: '3.8'
services:
zookeeper:
image: confluentinc/cp-zookeeper:6.1.1
container_name: zookeeper
restart: unless-stopped
ports:
- "2181:2181"
environment:
ZOOKEEPER_CLIENT_PORT: 2181
healthcheck:
test: "echo stat | nc localhost $$ZOOKEEPER_CLIENT_PORT"
start_period: 30s
kafka:
image: confluentinc/cp-kafka:6.1.1
container_name: kafka
restart: unless-stopped
depends_on:
- zookeeper
ports:
- "9092:9092"
- "29092:29092"
environment:
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_DELETE_TOPIC_ENABLE: "true"
healthcheck:
test: [ "CMD", "nc", "-z", "localhost", "9092" ]
start_period: 30s
schema-registry:
image: confluentinc/cp-schema-registry:6.1.1
container_name: schema-registry
restart: unless-stopped
depends_on:
- kafka
ports:
- "8081:8081"
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka:9092
SCHEMA_REGISTRY_HOST_NAME: schema-registry
SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8081
healthcheck:
test: "curl -f http://localhost:8081 || exit 1"
start_period: 1m
schema-registry-ui:
image: landoop/schema-registry-ui:0.9.5
container_name: kafka-schema-registry-ui
depends_on:
- schema-registry
ports:
- "8001:8000"
environment:
SCHEMAREGISTRY_URL: http://schema-registry:8081
PROXY: "true"
healthcheck:
test: "wget --quiet --tries=1 --spider http://localhost:8000 || exit 1"
start_period: 30s
kafka-rest-proxy:
image: confluentinc/cp-kafka-rest:6.1.1
container_name: kafka-rest-proxy
restart: unless-stopped
depends_on:
- zookeeper
- kafka
ports:
- "8082:8082"
environment:
KAFKA_REST_BOOTSTRAP_SERVERS: PLAINTEXT://kafka:9092
KAFKA_REST_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_REST_HOST_NAME: kafka-rest-proxy
KAFKA_REST_LISTENERS: http://0.0.0.0:8082
KAFKA_REST_SCHEMA_REGISTRY_URL: http://schema-registry:8081
KAFKA_REST_CONSUMER_REQUEST_TIMEOUT_MS: 30000
healthcheck:
test: "curl -f http://localhost:8082 || exit 1"
start_period: 30s
kafka-topics-ui:
image: landoop/kafka-topics-ui:0.9.4
container_name: kafka-topics-ui
restart: unless-stopped
depends_on:
- kafka-rest-proxy
ports:
- "8085:8000"
environment:
KAFKA_REST_PROXY_URL: http://kafka-rest-proxy:8082
PROXY: "true"
healthcheck:
test: "wget --quiet --tries=1 --spider http://localhost:8000 || exit 1"
start_period: 30s
kafka-manager:
image: hlebalbau/kafka-manager:3.0.0.5
container_name: kafka-manager
restart: unless-stopped
depends_on:
- zookeeper
ports:
- "9000:9000"
environment:
ZK_HOSTS: zookeeper:2181
APPLICATION_SECRET: "random-secret"
command: -Dpidfile.path=/dev/null
healthcheck:
test: "curl -f http://localhost:9000 || exit 1"
start_period: 30s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment