networks: default: name: datahub_network services: broker: container_name: broker depends_on: - zookeeper 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 - KAFKA_HEAP_OPTS=-Xms256m -Xmx256m - KAFKA_CONFLUENT_SUPPORT_METRICS_ENABLE=false hostname: broker image: confluentinc/cp-kafka:5.4.0 ports: - ${DATAHUB_MAPPED_KAFKA_BROKER_PORT:-9092}:9092 volumes: - broker:/var/lib/kafka/data/ datahub-actions: depends_on: - datahub-gms environment: - DATAHUB_GMS_PROTOCOL=http - DATAHUB_GMS_HOST=datahub-gms - DATAHUB_GMS_PORT=8080 - KAFKA_BOOTSTRAP_SERVER=broker:29092 - SCHEMA_REGISTRY_URL=http://schema-registry:8081 - METADATA_AUDIT_EVENT_NAME=MetadataAuditEvent_v4 - METADATA_CHANGE_LOG_VERSIONED_TOPIC_NAME=MetadataChangeLog_Versioned_v1 - DATAHUB_SYSTEM_CLIENT_ID=__datahub_system - DATAHUB_SYSTEM_CLIENT_SECRET=JohnSnowKnowsNothing - KAFKA_PROPERTIES_SECURITY_PROTOCOL=PLAINTEXT - DATAHUB_ACTIONS_SLACK_ENABLED - DATAHUB_ACTIONS_SLACK_DATAHUB_BASE_URL - DATAHUB_ACTIONS_SLACK_BOT_TOKEN - DATAHUB_ACTIONS_SLACK_SIGNING_SECRET - DATAHUB_ACTIONS_SLACK_CHANNEL - DATAHUB_ACTIONS_SLACK_SUPPRESS_SYSTEM_ACTIVITY - DATAHUB_ACTIONS_TEAMS_ENABLED - DATAHUB_ACTIONS_TEAMS_DATAHUB_BASE_URL - DATAHUB_ACTIONS_TEAMS_WEBHOOK_URL - DATAHUB_ACTIONS_TEAMS_SUPPRESS_SYSTEM_ACTIVITY hostname: actions image: acryldata/datahub-actions:${ACTIONS_VERSION:-head} restart: on-failure:5 datahub-frontend-react: container_name: datahub-frontend-react depends_on: - datahub-gms environment: - DATAHUB_GMS_HOST=datahub-gms - DATAHUB_GMS_PORT=8080 - DATAHUB_SECRET=YouKnowNothing - DATAHUB_APP_VERSION=1.0 - DATAHUB_PLAY_MEM_BUFFER_SIZE=10MB - JAVA_OPTS=-Xms512m -Xmx512m -Dhttp.port=9002 -Dconfig.file=datahub-frontend/conf/application.conf -Djava.security.auth.login.config=datahub-frontend/conf/jaas.conf -Dlogback.configurationFile=datahub-frontend/conf/logback.xml -Dlogback.debug=false -Dpidfile.path=/dev/null - KAFKA_BOOTSTRAP_SERVER=broker:29092 - DATAHUB_TRACKING_TOPIC=DataHubUsageEvent_v1 - ELASTIC_CLIENT_HOST=elasticsearch - ELASTIC_CLIENT_PORT=9200 hostname: datahub-frontend-react image: ${DATAHUB_FRONTEND_IMAGE:-linkedin/datahub-frontend-react}:${DATAHUB_VERSION:-head} ports: - ${DATAHUB_MAPPED_FRONTEND_PORT:-9002}:9002 volumes: - ${HOME}/.datahub/plugins:/etc/datahub/plugins datahub-gms: container_name: datahub-gms depends_on: - mysql environment: - DATAHUB_SERVER_TYPE=${DATAHUB_SERVER_TYPE:-quickstart} - DATAHUB_TELEMETRY_ENABLED=${DATAHUB_TELEMETRY_ENABLED:-true} - EBEAN_DATASOURCE_USERNAME=datahub - EBEAN_DATASOURCE_PASSWORD=datahub - EBEAN_DATASOURCE_HOST=mysql:3306 - EBEAN_DATASOURCE_URL=jdbc:mysql://mysql:3306/datahub?verifyServerCertificate=false&useSSL=true&useUnicode=yes&characterEncoding=UTF-8&enabledTLSProtocols=TLSv1.2 - 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 - ES_BULK_REFRESH_POLICY=WAIT_UNTIL - NEO4J_HOST=http://neo4j:7474 - NEO4J_URI=bolt://neo4j - NEO4J_USERNAME=neo4j - NEO4J_PASSWORD=datahub - JAVA_OPTS=-Xms1g -Xmx1g - GRAPH_SERVICE_DIFF_MODE_ENABLED=true - GRAPH_SERVICE_IMPL=neo4j - ENTITY_REGISTRY_CONFIG_PATH=/datahub/datahub-gms/resources/entity-registry.yml - ENTITY_SERVICE_ENABLE_RETENTION=true - MAE_CONSUMER_ENABLED=true - MCE_CONSUMER_ENABLED=true - PE_CONSUMER_ENABLED=true - UI_INGESTION_ENABLED=true - METADATA_SERVICE_AUTH_ENABLED=false hostname: datahub-gms image: ${DATAHUB_GMS_IMAGE:-linkedin/datahub-gms}:${DATAHUB_VERSION:-head} ports: - ${DATAHUB_MAPPED_GMS_PORT:-8080}:8080 volumes: - ${HOME}/.datahub/plugins/:/etc/datahub/plugins - ${HOME}/.datahub/plugins/auth/resources/:/etc/datahub/plugins/auth/resources elasticsearch: container_name: elasticsearch environment: - discovery.type=single-node - xpack.security.enabled=false - ES_JAVA_OPTS=-Xms256m -Xmx256m -Dlog4j2.formatMsgNoLookups=true healthcheck: retries: 4 start_period: 2m test: - CMD-SHELL - curl -sS --fail 'http://localhost:9200/_cluster/health?wait_for_status=yellow&timeout=0s' || exit 1 hostname: elasticsearch image: elasticsearch:7.9.3 mem_limit: 1g ports: - ${DATAHUB_MAPPED_ELASTIC_PORT:-9200}:9200 volumes: - esdata:/usr/share/elasticsearch/data elasticsearch-setup: container_name: elasticsearch-setup depends_on: - elasticsearch environment: - ELASTICSEARCH_HOST=elasticsearch - ELASTICSEARCH_PORT=9200 - ELASTICSEARCH_PROTOCOL=http hostname: elasticsearch-setup image: ${DATAHUB_ELASTIC_SETUP_IMAGE:-linkedin/datahub-elasticsearch-setup}:${DATAHUB_VERSION:-head} kafka-setup: container_name: kafka-setup depends_on: - broker - schema-registry environment: - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 - KAFKA_BOOTSTRAP_SERVER=broker:29092 hostname: kafka-setup image: ${DATAHUB_KAFKA_SETUP_IMAGE:-linkedin/datahub-kafka-setup}:${DATAHUB_VERSION:-head} mysql: command: --character-set-server=utf8mb4 --collation-server=utf8mb4_bin container_name: mysql environment: - MYSQL_DATABASE=datahub - MYSQL_USER=datahub - MYSQL_PASSWORD=datahub - MYSQL_ROOT_PASSWORD=datahub hostname: mysql image: mysql:5.7 ports: - ${DATAHUB_MAPPED_MYSQL_PORT:-3306}:3306 volumes: - ../mysql/init.sql:/docker-entrypoint-initdb.d/init.sql - mysqldata:/var/lib/mysql mysql-setup: container_name: mysql-setup depends_on: - mysql environment: - MYSQL_HOST=mysql - MYSQL_PORT=3306 - MYSQL_USERNAME=datahub - MYSQL_PASSWORD=datahub - DATAHUB_DB_NAME=datahub hostname: mysql-setup image: acryldata/datahub-mysql-setup:${DATAHUB_VERSION:-head} neo4j: container_name: neo4j environment: - NEO4J_AUTH=neo4j/datahub - NEO4J_dbms_default__database=graph.db - NEO4J_dbms_allow__upgrade=true hostname: neo4j image: neo4j:4.4.9-community ports: - ${DATAHUB_MAPPED_NEO4J_HTTP_PORT:-7474}:7474 - ${DATAHUB_MAPPED_NEO4J_BOLT_PORT:-7687}:7687 volumes: - neo4jdata:/data schema-registry: container_name: schema-registry depends_on: - zookeeper - broker environment: - SCHEMA_REGISTRY_HOST_NAME=schemaregistry - SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL=zookeeper:2181 hostname: schema-registry image: confluentinc/cp-schema-registry:5.4.0 ports: - ${DATAHUB_MAPPED_SCHEMA_REGISTRY_PORT:-8081}:8081 zookeeper: container_name: zookeeper environment: - ZOOKEEPER_CLIENT_PORT=2181 - ZOOKEEPER_TICK_TIME=2000 hostname: zookeeper image: confluentinc/cp-zookeeper:5.4.0 ports: - ${DATAHUB_MAPPED_ZK_PORT:-2181}:2181 volumes: - zkdata:/var/lib/zookeeper version: '2.3' volumes: broker: null esdata: null mysqldata: null neo4jdata: null zkdata: null