version: '3.5' #network_mode: "host" services: mskafka: image: redpandadata/redpanda:v23.2.15 container_name: mskafka expose: - 9092 - 8081 ports: - "127.0.0.1:9092:9092" - "127.0.0.1:8081:8081" restart: on-failure networks: - kafkastreams-network command: - redpanda - start - --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:19092 # Address the broker advertises to clients that connect to the Kafka API. # Use the internal addresses to connect to the Redpanda brokers' # from inside the same Docker network. # Use the external addresses to connect to the Redpanda brokers' # from outside the Docker network. - --advertise-kafka-addr internal://mskafka:9092,external://localhost:19092 - --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:18082 # Address the broker advertises to clients that connect to the HTTP Proxy. - --advertise-pandaproxy-addr internal://mskafka:8082,external://localhost:18082 - --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:18081 # Redpanda brokers use the RPC API to communicate with eachother internally. - --rpc-addr mskafka:33145 - --advertise-rpc-addr mskafka:33145 # Tells Seastar (the framework Redpanda uses under the hood) to use 1 core on the system. - --smp 1 # The amount of memory to make available to Redpanda. - --memory 1G # Mode dev-container uses well-known configuration properties for development in containers. - --mode dev-container # enable logs for debugging. - --default-log-level=debug volumes: - mskafka:/var/lib/redpanda/data redpanda-console: container_name: redpanda-console image: docker.redpanda.com/vectorized/console:v2.3.5 networks: - kafkastreams-network entrypoint: /bin/sh command: -c 'echo "$$CONSOLE_CONFIG_FILE" > /tmp/config.yml; /app/console' environment: CONFIG_FILEPATH: /tmp/config.yml CONSOLE_CONFIG_FILE: | kafka: brokers: ["mskafka:9092"] schemaRegistry: enabled: true urls: ["http://mskafka:8081"] redpanda: adminApi: enabled: true urls: ["http://mskafka:9644"] ports: - 127.0.0.1:8080:8080 depends_on: - mskafka ibmi-connector: image: silllencem/debezium-connector-ibmi:latest container_name: ibmi-connector environment: - DEBEZIUM_BOOTSTRAP_SERVERS=mskafka:9092 - DEBEZIUM_GROUP_ID=1 - DEBEZIUM_KEY_CONVERTER=io.confluent.connect.avro.AvroConverter - DEBEZIUM_KEY_CONVERTER_SCHEMA_REGISTRY_URL=http://mskafka:8081 - DEBEZIUM_VALUE_CONVERTER=io.confluent.connect.avro.AvroConverter - DEBEZIUM_VALUE_CONVERTER_SCHEMA_REGISTRY_URL=http://mskafka:8081 - DEBEZIUM_KEY_CONVERTER_SCHEMAS_ENABLE=true - DEBEZIUM_VALUE_CONVERTER_SCHEMAS_ENABLE=true - DEBEZIUM_OFFSET_STORAGE_TOPIC=ibmi_connector_offsets - DEBEZIUM_OFFSET_STORAGE_REPLICATION_FACTOR=1 - DEBEZIUM_CONFIG_STORAGE_TOPIC=ibmi_connector_configs - DEBEZIUM_CONFIG_STORAGE_REPLICATION_FACTOR=1 - DEBEZIUM_STATUS_STORAGE_TOPIC=ibmi_connector_statuses - DEBEZIUM_STATUS_STORAGE_REPLICATION_FACTOR=1 - DEBEZIUM_OFFSET_FLUSH_INTERVAL_MS=60000 - DEBEZIUM_REST_HOST_NAME=0.0.0.0 - DEBEZIUM_REST_PORT=8083 - DEBEZIUM_REST_ADVERTISED_HOST_NAME=mskafka - DEBEZIUM_REST_ADVERTISED_PORT=8083 - DEBEZIUM_PLUGIN_PATH=/kafka/connect - DEBEZIUM_TASK_SHUTDOWN_GRACEFUL_TIMEOUT_MS=10000 - DEBEZIUM_OFFSET_FLUSH_TIMEOUT_MS=5000 - DEBEZIUM_INTERNAL_VALUE_CONVERTER=org.apache.kafka.connect.json.JsonConverter - DEBEZIUM_INTERNAL_KEY_CONVERTER=org.apache.kafka.connect.json.JsonConverter - DEBEZIUM_CONNECTOR_CLIENT_CONFIG_OVERRIDE_POLICY=org.apache.kafka.connect.connector.policy.NoneConnectorClientConfigOverridePolicy - PARTITIONS=1 - REPLICATION_FACTOR=1 - DEBEZIUM_PRODUCER_INTERCEPTOR_CLASSES=brave.kafka.interceptor.TracingProducerInterceptor - DEBEZIUM_CONSUMER_INTERCEPTOR_CLASSES=brave.kafka.interceptor.TracingConsumerInterceptor - DEBEZIUM_PRODUCER_ZIPKIN_SENDER_TYPE=KAFKA - DEBEZIUM_PRODUCER_ZIPKIN_LOCAL_SERVICE_NAME=debezium-ibmi-local - DEBEZIUM_PRODUCER_ZIPKIN_REMOTE_SERVICE_NAME=debezium-ibmi-remote - DEBEZIUM_PRODUCER_ZIPKIN_KAFKA_BOOTSTRAP_SERVERS=mskafka:9092 - DEBEZIUM_PRODUCER_ZIPKIN_SAMPLER_RATE=1 - DISPLAY= - JVM_OPTS=-Djava.awt.headless=true expose: - 8083 - 7071 ports: - "127.0.0.1:8083:8083" - "127.0.0.1:7071:7071" depends_on: - "mskafka" extra_hosts: - "ibmi.domain:10.10.10.10" networks: - kafkastreams-network kafdrop: image: "obsidiandynamics/kafdrop:3.30.0" container_name: kafdrop environment: - KAFKA_BROKERCONNECT=mskafka:9092 - SCHEMAREGISTRY_CONNECT=http://mskafka:8081 - JVM_OPTS=-Xms64M -Xmx1G - MESSAGE_FORMAT=AVRO expose: - 9000 ports: - 127.0.0.1:9000:9000 restart: on-failure networks: - kafkastreams-network depends_on: - "mskafka" networks: kafkastreams-network: name: ks volumes: ksql-libs: kafka-storage: mskafka: null