mirror of
https://github.com/datahub-project/datahub.git
synced 2025-10-29 01:42:08 +00:00
81 lines
2.5 KiB
YAML
81 lines
2.5 KiB
YAML
---
|
|
version: '3.5'
|
|
services:
|
|
zookeeper:
|
|
image: confluentinc/cp-zookeeper:5.3.0
|
|
hostname: zookeeper
|
|
container_name: zookeeper
|
|
ports:
|
|
- "2181:2181"
|
|
environment:
|
|
ZOOKEEPER_CLIENT_PORT: 2181
|
|
ZOOKEEPER_TICK_TIME: 2000
|
|
|
|
broker:
|
|
image: confluentinc/cp-kafka:5.3.0
|
|
hostname: broker
|
|
container_name: broker
|
|
depends_on:
|
|
- zookeeper
|
|
ports:
|
|
- "29092:29092"
|
|
- "9092:9092"
|
|
environment:
|
|
KAFKA_BROKER_ID: 1
|
|
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
|
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
|
|
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092
|
|
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
|
|
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
|
|
|
|
# This "container" is a workaround to pre-create topics
|
|
kafka-setup:
|
|
image: confluentinc/cp-kafka:5.3.0
|
|
hostname: kafka-setup
|
|
container_name: kafka-setup
|
|
depends_on:
|
|
- broker
|
|
- schema-registry
|
|
command: "bash -c 'echo Waiting for Kafka to be ready... && \
|
|
cub kafka-ready -b broker:29092 1 60 && \
|
|
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic MetadataAuditEvent && \
|
|
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic MetadataChangeEvent'"
|
|
environment:
|
|
# The following settings are listed here only to satisfy the image's requirements.
|
|
# We override the image's `command` anyways, hence this container will not start a broker.
|
|
KAFKA_BROKER_ID: ignored
|
|
KAFKA_ZOOKEEPER_CONNECT: ignored
|
|
|
|
schema-registry:
|
|
image: confluentinc/cp-schema-registry:5.3.0
|
|
hostname: schema-registry
|
|
container_name: schema-registry
|
|
depends_on:
|
|
- zookeeper
|
|
- broker
|
|
ports:
|
|
- "8081:8081"
|
|
environment:
|
|
SCHEMA_REGISTRY_HOST_NAME: schema-registry
|
|
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181'
|
|
|
|
schema-registry-ui:
|
|
image: landoop/schema-registry-ui:latest
|
|
container_name: schema-registry-ui
|
|
hostname: schema-registry-ui
|
|
ports:
|
|
- "8000:8000"
|
|
environment:
|
|
SCHEMAREGISTRY_URL: 'http://schema-registry:8081'
|
|
ALLOW_GLOBAL: 'true'
|
|
ALLOW_TRANSITIVE: 'true'
|
|
ALLOW_DELETION: 'true'
|
|
READONLY_MODE: 'true'
|
|
PROXY: 'true'
|
|
depends_on:
|
|
- schema-registry
|
|
|
|
networks:
|
|
default:
|
|
name: datahub_network
|