2019-08-31 20:51:14 -07:00
|
|
|
---
|
2019-09-02 16:44:34 -07:00
|
|
|
version: '3.5'
|
2019-08-31 20:51:14 -07:00
|
|
|
services:
|
|
|
|
mysql:
|
|
|
|
container_name: mysql
|
2019-09-02 16:44:34 -07:00
|
|
|
hostname: mysql
|
2019-08-31 20:51:14 -07:00
|
|
|
image: mysql:latest
|
|
|
|
restart: always
|
|
|
|
environment:
|
|
|
|
MYSQL_DATABASE: 'datahub'
|
|
|
|
MYSQL_USER: 'datahub'
|
|
|
|
MYSQL_PASSWORD: 'datahub'
|
|
|
|
MYSQL_ROOT_PASSWORD: 'datahub'
|
|
|
|
ports:
|
2019-09-02 16:44:34 -07:00
|
|
|
- "3306:3306"
|
2019-08-31 20:51:14 -07:00
|
|
|
volumes:
|
|
|
|
- ../mysql/init.sql:/docker-entrypoint-initdb.d/init.sql
|
|
|
|
|
|
|
|
zookeeper:
|
|
|
|
image: confluentinc/cp-zookeeper:5.2.1
|
|
|
|
hostname: zookeeper
|
|
|
|
container_name: zookeeper
|
|
|
|
ports:
|
|
|
|
- "2181:2181"
|
|
|
|
environment:
|
|
|
|
ZOOKEEPER_CLIENT_PORT: 2181
|
|
|
|
ZOOKEEPER_TICK_TIME: 2000
|
|
|
|
|
|
|
|
broker:
|
2019-09-03 18:37:33 -07:00
|
|
|
image: confluentinc/cp-kafka:5.2.1
|
2019-08-31 20:51:14 -07:00
|
|
|
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
|
|
|
|
|
2019-09-07 23:41:59 -07:00
|
|
|
# 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... && \
|
2019-11-19 23:37:26 -08:00
|
|
|
cub kafka-ready -b broker:29092 1 60 && \
|
2019-09-07 23:41:59 -07:00
|
|
|
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic MetadataAuditEvent && \
|
2020-02-26 16:18:08 -06:00
|
|
|
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic MetadataChangeEvent && \
|
|
|
|
kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic FailedMetadataChangeEvent'"
|
2019-09-07 23:41:59 -07:00
|
|
|
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
|
|
|
|
|
2019-08-31 20:51:14 -07:00
|
|
|
schema-registry:
|
|
|
|
image: confluentinc/cp-schema-registry:5.2.1
|
|
|
|
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
|
|
|
|
|
|
|
|
elasticsearch:
|
|
|
|
image: docker.elastic.co/elasticsearch/elasticsearch:5.6.8
|
|
|
|
container_name: elasticsearch
|
2019-09-02 16:44:34 -07:00
|
|
|
hostname: elasticsearch
|
2019-08-31 20:51:14 -07:00
|
|
|
ports:
|
|
|
|
- "9200:9200"
|
|
|
|
environment:
|
|
|
|
- discovery.type=single-node
|
|
|
|
- xpack.security.enabled=false
|
2019-11-12 18:13:37 -08:00
|
|
|
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
|
2019-08-31 20:51:14 -07:00
|
|
|
|
|
|
|
kibana:
|
|
|
|
image: docker.elastic.co/kibana/kibana:5.6.8
|
|
|
|
container_name: kibana
|
2019-09-02 16:44:34 -07:00
|
|
|
hostname: kibana
|
2019-08-31 20:51:14 -07:00
|
|
|
ports:
|
|
|
|
- "5601:5601"
|
|
|
|
depends_on:
|
2019-09-02 16:44:34 -07:00
|
|
|
- elasticsearch
|
|
|
|
|
2019-11-20 18:05:33 -08:00
|
|
|
neo4j:
|
|
|
|
image: neo4j:3.5.7
|
|
|
|
hostname: neo4j
|
|
|
|
container_name: neo4j
|
2019-11-26 22:19:46 -08:00
|
|
|
environment:
|
|
|
|
NEO4J_AUTH: 'neo4j/datahub'
|
2019-11-20 18:05:33 -08:00
|
|
|
ports:
|
|
|
|
- "7474:7474"
|
|
|
|
- "7687:7687"
|
|
|
|
|
2019-09-12 19:04:29 -07:00
|
|
|
# This "container" is a workaround to pre-create search indices
|
|
|
|
elasticsearch-setup:
|
|
|
|
build:
|
|
|
|
context: ../elasticsearch
|
|
|
|
hostname: elasticsearch-setup
|
|
|
|
container_name: elasticsearch-setup
|
|
|
|
depends_on:
|
|
|
|
- elasticsearch
|
|
|
|
environment:
|
|
|
|
- ELASTICSEARCH_HOST=elasticsearch
|
|
|
|
- ELASTICSEARCH_PORT=9200
|
|
|
|
|
2019-09-02 16:44:34 -07:00
|
|
|
datahub-gms:
|
2019-10-05 15:28:12 -07:00
|
|
|
image: keremsahin/datahub-gms:latest
|
2019-09-02 16:44:34 -07:00
|
|
|
hostname: datahub-gms
|
|
|
|
container_name: datahub-gms
|
|
|
|
ports:
|
|
|
|
- "8080:8080"
|
|
|
|
environment:
|
2019-09-04 20:31:56 -07:00
|
|
|
- EBEAN_DATASOURCE_USERNAME=datahub
|
|
|
|
- EBEAN_DATASOURCE_PASSWORD=datahub
|
|
|
|
- EBEAN_DATASOURCE_HOST=mysql:3306
|
2020-02-06 17:36:56 -08:00
|
|
|
- EBEAN_DATASOURCE_URL=jdbc:mysql://mysql:3306/datahub?verifyServerCertificate=false&useSSL=true
|
2019-09-04 20:31:56 -07:00
|
|
|
- EBEAN_DATASOURCE_DRIVER=com.mysql.jdbc.Driver
|
|
|
|
- KAFKA_BOOTSTRAP_SERVER=broker:29092
|
|
|
|
- KAFKA_SCHEMAREGISTRY_URL=http://schema-registry:8081
|
|
|
|
- ELASTICSEARCH_HOST=elasticsearch
|
|
|
|
- ELASTICSEARCH_PORT=9200
|
2019-11-27 00:51:28 -08:00
|
|
|
- NEO4J_URI=bolt://neo4j
|
|
|
|
- NEO4J_USERNAME=neo4j
|
|
|
|
- NEO4J_PASSWORD=datahub
|
2019-09-02 16:44:34 -07:00
|
|
|
depends_on:
|
|
|
|
- elasticsearch
|
|
|
|
- broker
|
|
|
|
- mysql
|
|
|
|
- schema-registry
|
2019-11-27 00:51:28 -08:00
|
|
|
- neo4j
|
2019-11-12 19:13:56 -08:00
|
|
|
command: "bash -c 'dockerize -wait tcp://mysql:3306 -wait tcp://broker:29092 -wait http://elasticsearch:9200 \
|
|
|
|
-timeout 240s \
|
|
|
|
java -jar jetty-runner-9.4.20.v20190813.jar gms.war'"
|
2019-09-02 16:44:34 -07:00
|
|
|
|
2019-09-02 23:21:37 -07:00
|
|
|
datahub-frontend:
|
2019-10-05 15:28:12 -07:00
|
|
|
image: keremsahin/datahub-frontend:latest
|
2019-09-02 23:21:37 -07:00
|
|
|
hostname: datahub-frontend
|
|
|
|
container_name: datahub-frontend
|
|
|
|
ports:
|
|
|
|
- "9001:9001"
|
|
|
|
environment:
|
|
|
|
- DATAHUB_GMS_HOST=datahub-gms
|
|
|
|
- DATAHUB_GMS_PORT=8080
|
2019-09-04 20:31:56 -07:00
|
|
|
- DATAHUB_SECRET=YouKnowNothing
|
|
|
|
- DATAHUB_APP_VERSION=1.0
|
|
|
|
- DATAHUB_PLAY_MEM_BUFFER_SIZE=10MB
|
2019-09-02 23:21:37 -07:00
|
|
|
depends_on:
|
|
|
|
- datahub-gms
|
|
|
|
|
2019-09-07 23:44:41 -07:00
|
|
|
datahub-mae-consumer:
|
2019-10-05 15:28:12 -07:00
|
|
|
image: keremsahin/datahub-mae-consumer:latest
|
2019-09-07 23:44:41 -07:00
|
|
|
hostname: datahub-mae-consumer
|
|
|
|
container_name: datahub-mae-consumer
|
|
|
|
environment:
|
|
|
|
- KAFKA_BOOTSTRAP_SERVER=broker:29092
|
|
|
|
- KAFKA_SCHEMAREGISTRY_URL=http://schema-registry:8081
|
|
|
|
- ELASTICSEARCH_HOST=elasticsearch
|
|
|
|
- ELASTICSEARCH_PORT=9200
|
2019-11-26 22:19:46 -08:00
|
|
|
- NEO4J_URI=bolt://neo4j
|
|
|
|
- NEO4J_USERNAME=neo4j
|
|
|
|
- NEO4J_PASSWORD=datahub
|
2019-09-07 23:44:41 -07:00
|
|
|
depends_on:
|
|
|
|
- kafka-setup
|
|
|
|
- elasticsearch
|
2019-11-26 22:19:46 -08:00
|
|
|
- neo4j
|
2019-09-08 00:56:31 -07:00
|
|
|
command: "bash -c 'while ping -c1 kafka-setup &>/dev/null; do echo waiting for kafka-setup... && sleep 1; done; \
|
2019-11-20 18:19:31 -08:00
|
|
|
echo kafka-setup done! && ./mae-consumer-job/bin/mae-consumer-job'"
|
2019-09-07 23:44:41 -07:00
|
|
|
|
2019-09-08 00:57:04 -07:00
|
|
|
datahub-mce-consumer:
|
2019-10-05 15:28:12 -07:00
|
|
|
image: keremsahin/datahub-mce-consumer:latest
|
2019-09-08 00:57:04 -07:00
|
|
|
hostname: datahub-mce-consumer
|
|
|
|
container_name: datahub-mce-consumer
|
|
|
|
environment:
|
|
|
|
- KAFKA_BOOTSTRAP_SERVER=broker:29092
|
|
|
|
- KAFKA_SCHEMAREGISTRY_URL=http://schema-registry:8081
|
|
|
|
- GMS_HOST=datahub-gms
|
|
|
|
- GMS_PORT=8080
|
|
|
|
depends_on:
|
|
|
|
- kafka-setup
|
|
|
|
- datahub-gms
|
|
|
|
command: "bash -c 'while ping -c1 kafka-setup &>/dev/null; do echo waiting for kafka-setup... && sleep 1; done; \
|
|
|
|
echo kafka-setup done! && ./mce-consumer-job/bin/mce-consumer-job'"
|
|
|
|
|
2019-09-02 16:44:34 -07:00
|
|
|
networks:
|
|
|
|
default:
|
2020-02-26 16:18:08 -06:00
|
|
|
name: datahub_network
|