194 lines
5.4 KiB
YAML
194 lines
5.4 KiB
YAML
# A theft from https://github.com/simplesteph/kafka-stack-docker-compose/blob/master/full-stack.yml
|
|
version: '2'
|
|
|
|
services:
|
|
zoo1:
|
|
image: zookeeper:3.4.9
|
|
restart: "unless-stopped"
|
|
hostname: zoo1
|
|
ports:
|
|
- "2181:2181"
|
|
environment:
|
|
ZOO_MY_ID: 1
|
|
ZOO_PORT: 2181
|
|
ZOO_SERVERS: server.1=zoo1:2888:3888
|
|
volumes:
|
|
- ./full-stack/zoo1/data:/data
|
|
- ./full-stack/zoo1/datalog:/datalog
|
|
|
|
kafka1:
|
|
image: confluentinc/cp-kafka:4.1.0
|
|
hostname: kafka1
|
|
ports:
|
|
- "9092:9092"
|
|
environment:
|
|
# add the entry "127.0.0.1 kafka1" to your /etc/hosts file
|
|
KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT://kafka1:9092"
|
|
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
|
|
KAFKA_BROKER_ID: 1
|
|
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
|
|
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
|
|
volumes:
|
|
- ./full-stack/kafka1/data:/var/lib/kafka/data
|
|
depends_on:
|
|
- zoo1
|
|
|
|
kafka-schema-registry:
|
|
image: confluentinc/cp-schema-registry:4.1.0
|
|
hostname: kafka-schema-registry
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8081:8081"
|
|
environment:
|
|
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zoo1:2181
|
|
SCHEMA_REGISTRY_HOST_NAME: kafka-schema-registry
|
|
SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8081
|
|
depends_on:
|
|
- zoo1
|
|
- kafka1
|
|
|
|
schema-registry-ui:
|
|
image: landoop/schema-registry-ui:0.9.4
|
|
hostname: kafka-schema-registry-ui
|
|
ports:
|
|
- "8001:8000"
|
|
environment:
|
|
SCHEMAREGISTRY_URL: http://kafka-schema-registry:8081/
|
|
PROXY: "true"
|
|
depends_on:
|
|
- kafka-schema-registry
|
|
|
|
kafka-rest-proxy:
|
|
image: confluentinc/cp-kafka-rest:4.1.0
|
|
hostname: kafka-rest-proxy
|
|
ports:
|
|
- "8082:8082"
|
|
environment:
|
|
KAFKA_REST_ZOOKEEPER_CONNECT: zoo1:2181
|
|
KAFKA_REST_LISTENERS: http://0.0.0.0:8082/
|
|
KAFKA_REST_SCHEMA_REGISTRY_URL: http://kafka-schema-registry:8081/
|
|
KAFKA_REST_HOST_NAME: kafka-rest-proxy
|
|
KAFKA_REST_BOOTSTRAP_SERVERS: kafka1:9092
|
|
depends_on:
|
|
- zoo1
|
|
- kafka1
|
|
- kafka-schema-registry
|
|
|
|
kafka-topics-ui:
|
|
image: landoop/kafka-topics-ui:0.9.3
|
|
hostname: kafka-topics-ui
|
|
ports:
|
|
- "8000:8000"
|
|
environment:
|
|
KAFKA_REST_PROXY_URL: "http://kafka-rest-proxy:8082/"
|
|
PROXY: "true"
|
|
depends_on:
|
|
- zoo1
|
|
- kafka1
|
|
- kafka-schema-registry
|
|
- kafka-rest-proxy
|
|
|
|
kafka-connect:
|
|
image: confluentinc/cp-kafka-connect:4.1.0
|
|
hostname: kafka-connect
|
|
ports:
|
|
- "8083:8083"
|
|
environment:
|
|
CONNECT_BOOTSTRAP_SERVERS: "kafka1:9092"
|
|
CONNECT_REST_PORT: 8083
|
|
CONNECT_GROUP_ID: compose-connect-group
|
|
CONNECT_CONFIG_STORAGE_TOPIC: docker-connect-configs
|
|
CONNECT_OFFSET_STORAGE_TOPIC: docker-connect-offsets
|
|
CONNECT_STATUS_STORAGE_TOPIC: docker-connect-status
|
|
CONNECT_KEY_CONVERTER: io.confluent.connect.avro.AvroConverter
|
|
CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: 'http://kafka-schema-registry:8081'
|
|
CONNECT_VALUE_CONVERTER: io.confluent.connect.avro.AvroConverter
|
|
CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: 'http://kafka-schema-registry:8081'
|
|
CONNECT_INTERNAL_KEY_CONVERTER: "org.apache.kafka.connect.json.JsonConverter"
|
|
CONNECT_INTERNAL_VALUE_CONVERTER: "org.apache.kafka.connect.json.JsonConverter"
|
|
CONNECT_REST_ADVERTISED_HOST_NAME: "kafka-connect"
|
|
CONNECT_LOG4J_ROOT_LOGLEVEL: "INFO"
|
|
CONNECT_LOG4J_LOGGERS: "org.apache.kafka.connect.runtime.rest=WARN,org.reflections=ERROR"
|
|
CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: "1"
|
|
CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: "1"
|
|
CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: "1"
|
|
depends_on:
|
|
- zoo1
|
|
- kafka1
|
|
- kafka-schema-registry
|
|
- kafka-rest-proxy
|
|
|
|
kafka-connect-ui:
|
|
image: landoop/kafka-connect-ui:0.9.4
|
|
hostname: kafka-connect-ui
|
|
ports:
|
|
- "8003:8000"
|
|
environment:
|
|
CONNECT_URL: "http://kafka-connect:8083/"
|
|
PROXY: "true"
|
|
depends_on:
|
|
- kafka-connect
|
|
|
|
zoonavigator-web:
|
|
image: elkozmon/zoonavigator-web:0.4.0
|
|
ports:
|
|
- "8004:8000"
|
|
environment:
|
|
API_HOST: "zoonavigator-api"
|
|
API_PORT: 9000
|
|
links:
|
|
- zoonavigator-api
|
|
depends_on:
|
|
- zoonavigator-api
|
|
restart: unless-stopped
|
|
|
|
zoonavigator-api:
|
|
image: elkozmon/zoonavigator-api:0.4.0
|
|
environment:
|
|
SERVER_HTTP_PORT: 9000
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- zoo1
|
|
|
|
# datomic
|
|
datomic-transactors:
|
|
build: "datomic/"
|
|
restart: "unless-stopped"
|
|
ports:
|
|
- "4334:4334"
|
|
- "4335:4335"
|
|
- "4336:4336"
|
|
|
|
clickhouse:
|
|
image: "yandex/clickhouse-server:18.14"
|
|
restart: "unless-stopped"
|
|
ports:
|
|
- "8123:8123"
|
|
- "9000:9000"
|
|
|
|
|
|
|
|
# skirmish itself
|
|
|
|
# skirmish-api:
|
|
# build: .
|
|
# command: ["lein", "run", "api-server"]
|
|
# depends_on:
|
|
# - kafka-topics-ui # basically, we need all kafka
|
|
# environment:
|
|
# PORT: 1602 # https://en.wikipedia.org/wiki/Euronext_Amsterdam
|
|
# KAFKA_BOOTSTRAP_SERVERS: "kafka1:9092"
|
|
# ports:
|
|
# - "1602:1602"
|
|
#
|
|
# skirmish-exchange-core:
|
|
# build: .
|
|
# command: ["lein", "run", "exchange-core"]
|
|
# depends_on:
|
|
# - skirmish-api # basically, we need all kafka
|
|
# environment:
|
|
# PORT: 1602 # https://en.wikipedia.org/wiki/Euronext_Amsterdam
|
|
# KAFKA_BOOTSTRAP_SERVERS: "kafka1:9092"
|
|
# ports:
|
|
# - "1602:1602"
|