# # SPDX-License-Identifier: Apache-2.0 # Copyright (c) The original authors # # Licensed under the Apache Software License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0 # version: '3.8' services: kafka: image: "confluentinc/cp-kafka:7.5.0" ports: - "9092:9092" container_name: kafka environment: KAFKA_NODE_ID: 101 # random cluster ID used for formatting LOG_DIR for KRaft CLUSTER_ID: 'xtzWWN4bTjitpL3kfd9s5g' KAFKA_CONTROLLER_QUORUM_VOTERS: '101@kafka:29093' KAFKA_PROCESS_ROLES: 'broker,controller' KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092' KAFKA_LISTENERS: 'PLAINTEXT://kafka:29092,PLAINTEXT_HOST://0.0.0.0:9092,CONTROLLER://kafka:29093' KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT' KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER' KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT' KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: kafka:29092 CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS: 1 CONFLUENT_METRICS_ENABLE: 'false' KAFKA_AUTHORIZER_CLASS_NAME: org.apache.kafka.metadata.authorizer.StandardAuthorizer KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: 'true' KAFKA_SUPER_USERS: 'User:anonymous' networks: - kafka-platform schema-registry: image: confluentinc/cp-schema-registry:7.5.0 hostname: schema-registry container_name: schema-registry ports: - "8081:8081" environment: SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka:29092 SCHEMA_REGISTRY_HOST_NAME: schema-registry SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8081 depends_on: - kafka networks: - kafka-platform akhq: image: tchiotludo/akhq hostname: akhq container_name: akhq depends_on: - kafka ports: - "8087:8080" environment: AKHQ_CONFIGURATION: | akhq: connections: docker-kafka-server: properties: bootstrap.servers: "kafka:29092" schema-registry: url: "http://schema-registry:8081" connect: - name: "connect" url: "http://connect:8083" networks: - kafka-platform connect: image: confluentinc/cp-kafka-connect:7.5.0 container_name: connect depends_on: - kafka ports: - "8083:8083" - "8000:8000" environment: CONNECT_BOOTSTRAP_SERVERS: 'kafka:29092' CONNECT_REST_ADVERTISED_HOST_NAME: connect CONNECT_REST_PORT: 8083 CONNECT_GROUP_ID: kafka-connect CONNECT_CONFIG_STORAGE_TOPIC: _connect-configs CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1 CONNECT_OFFSET_FLUSH_INTERVAL_MS: 10000 CONNECT_OFFSET_STORAGE_TOPIC: _connect-offsets CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1 CONNECT_STATUS_STORAGE_TOPIC: _connect-status CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1 CONNECT_KEY_CONVERTER: org.apache.kafka.connect.storage.StringConverter CONNECT_VALUE_CONVERTER: org.apache.kafka.connect.storage.StringConverter CONNECT_INTERNAL_KEY_CONVERTER: "org.apache.kafka.connect.json.JsonConverter" CONNECT_INTERNAL_VALUE_CONVERTER: "org.apache.kafka.connect.json.JsonConverter" CONNECT_PLUGIN_PATH: "/usr/local/share/kafka/plugins,/usr/share/filestream-connectors" networks: - kafka-platform jikkou-server-api: container_name: jikkou_server_api ports: - "8080:8080" image: streamthoughts/jikkou-api-server:main environment: JIKKOU_CONFIGURATION: | micronaut: server: port: 8080 jikkou: # The extension providers extension.providers: # By default, disable all extensions default.enabled: false # Explicitly enabled/disable extensions #.enabled: core.enabled: true kafka.enabled: true kafka-connect.enabled: true networks: kafka-platform: driver: bridge