diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000000..b2bd6da95f --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,55 @@ +version: '3' + +services: + zookeeper: + image: zookeeper:3.4.13 + ports: + - 2181:2181 + restart: always + + kafka: + image: confluentinc/cp-kafka:5.3.1 + ports: + - 9093:9093 + environment: + KAFKA_BROKER_ID: 1 + KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 + KAFKA_LISTENERS: INTERNAL://0.0.0.0:9092,PLAINTEXT://0.0.0.0:9093 + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT + KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka:9092,PLAINTEXT://localhost:9093 + KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 + KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 + KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 + KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false" + depends_on: + - zookeeper + restart: always + + schema-registry: + image: confluentinc/cp-schema-registry:5.3.1 + hostname: schema-registry + ports: + - "8081:8081" + environment: + SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka:9092 + SCHEMA_REGISTRY_HOST_NAME: schema-registry + SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8081 + depends_on: + - zookeeper + - kafka + + rest: + image: confluentinc/cp-kafka-rest:5.3.1 + hostname: rest-proxy + ports: + - "8082:8082" + environment: + KAFKA_REST_LISTENERS: http://0.0.0.0:8082/ + KAFKA_REST_SCHEMA_REGISTRY_URL: http://schema-registry:8081/ + KAFKA_REST_HOST_NAME: rest-proxy + KAFKA_REST_BOOTSTRAP_SERVERS: PLAINTEXT://kafka:9092 + depends_on: + - zookeeper + - kafka + - schema-registry