2022-04-26 01:29:24 +01:00
|
|
|
# Docker compose file covering DataHub's default configuration, which is to run all containers on a single host.
|
|
|
|
|
|
|
|
# Please see the README.md for instructions as to how to use and customize.
|
|
|
|
|
|
|
|
# NOTE: This file does not build! No dockerfiles are set. See the README.md in this directory.
|
|
|
|
---
|
2023-05-08 23:42:15 +02:00
|
|
|
version: '3.9'
|
2022-04-26 01:29:24 +01:00
|
|
|
services:
|
2023-05-08 23:42:15 +02:00
|
|
|
datahub-frontend-react:
|
|
|
|
container_name: datahub-frontend-react
|
|
|
|
hostname: datahub-frontend-react
|
|
|
|
image: ${DATAHUB_FRONTEND_IMAGE:-linkedin/datahub-frontend-react}:${DATAHUB_VERSION:-head}
|
2022-04-26 01:29:24 +01:00
|
|
|
ports:
|
2023-05-08 23:42:15 +02:00
|
|
|
- 9002:9002
|
|
|
|
build:
|
|
|
|
context: ../
|
|
|
|
dockerfile: docker/datahub-frontend/Dockerfile
|
|
|
|
env_file: datahub-frontend/env/docker.env
|
2022-04-26 01:29:24 +01:00
|
|
|
depends_on:
|
2023-05-08 23:42:15 +02:00
|
|
|
datahub-gms:
|
|
|
|
condition: service_healthy
|
2022-04-26 01:29:24 +01:00
|
|
|
volumes:
|
2023-05-08 23:42:15 +02:00
|
|
|
- ${HOME}/.datahub/plugins:/etc/datahub/plugins
|
|
|
|
datahub-actions:
|
|
|
|
container_name: datahub-actions
|
|
|
|
hostname: actions
|
2023-07-28 14:09:44 -05:00
|
|
|
image: ${DATAHUB_ACTIONS_IMAGE:-acryldata/datahub-actions}:${ACTIONS_VERSION:-head}
|
2023-05-08 23:42:15 +02:00
|
|
|
env_file: datahub-actions/env/docker.env
|
2022-04-26 01:29:24 +01:00
|
|
|
depends_on:
|
2023-05-08 23:42:15 +02:00
|
|
|
datahub-gms:
|
|
|
|
condition: service_healthy
|
|
|
|
datahub-gms:
|
|
|
|
container_name: datahub-gms
|
|
|
|
hostname: datahub-gms
|
|
|
|
image: ${DATAHUB_GMS_IMAGE:-linkedin/datahub-gms}:${DATAHUB_VERSION:-head}
|
2022-04-26 01:29:24 +01:00
|
|
|
ports:
|
2023-05-08 23:42:15 +02:00
|
|
|
- 8080:8080
|
|
|
|
build:
|
|
|
|
context: ../
|
|
|
|
dockerfile: docker/datahub-gms/Dockerfile
|
|
|
|
env_file: ./datahub-gms/env/docker.cassandra.env
|
2022-04-26 01:29:24 +01:00
|
|
|
healthcheck:
|
2023-05-08 23:42:15 +02:00
|
|
|
test: curl -sS --fail http://datahub-gms:${DATAHUB_MAPPED_GMS_PORT:-8080}/health
|
|
|
|
start_period: 20s
|
|
|
|
interval: 1s
|
|
|
|
retries: 20
|
|
|
|
timeout: 5s
|
|
|
|
depends_on:
|
|
|
|
datahub-upgrade:
|
|
|
|
condition: service_completed_successfully
|
2022-04-26 01:29:24 +01:00
|
|
|
volumes:
|
2023-05-08 23:42:15 +02:00
|
|
|
- ${HOME}/.datahub/plugins:/etc/datahub/plugins
|
|
|
|
datahub-upgrade:
|
|
|
|
container_name: datahub-upgrade
|
|
|
|
hostname: datahub-upgrade
|
|
|
|
image: ${DATAHUB_UPGRADE_IMAGE:-acryldata/datahub-upgrade}:${DATAHUB_VERSION:-head}
|
|
|
|
command:
|
|
|
|
- -u
|
|
|
|
- SystemUpdate
|
|
|
|
build:
|
|
|
|
context: ../
|
|
|
|
dockerfile: docker/datahub-upgrade/Dockerfile
|
|
|
|
env_file: datahub-upgrade/env/docker-without-neo4j.env
|
|
|
|
depends_on:
|
|
|
|
cassandra-setup:
|
|
|
|
condition: service_completed_successfully
|
|
|
|
elasticsearch-setup:
|
|
|
|
condition: service_completed_successfully
|
|
|
|
neo4j:
|
|
|
|
condition: service_healthy
|
|
|
|
broker:
|
|
|
|
condition: service_healthy
|
|
|
|
schema-registry:
|
|
|
|
condition: service_healthy
|
|
|
|
cassandra-setup:
|
|
|
|
container_name: cassandra-setup
|
|
|
|
hostname: cassandra-setup
|
|
|
|
image: cassandra:3.11
|
|
|
|
command: /bin/bash -c "cqlsh cassandra -f /init.cql"
|
|
|
|
depends_on:
|
|
|
|
cassandra:
|
|
|
|
condition: service_healthy
|
|
|
|
volumes:
|
|
|
|
- ./cassandra/init.cql:/init.cql
|
|
|
|
labels:
|
|
|
|
datahub_setup_job: true
|
2022-04-26 01:29:24 +01:00
|
|
|
# This "container" is a workaround to pre-create search indices
|
|
|
|
elasticsearch-setup:
|
2023-05-08 23:42:15 +02:00
|
|
|
container_name: elasticsearch-setup
|
|
|
|
hostname: elasticsearch-setup
|
|
|
|
image: ${DATAHUB_ELASTIC_SETUP_IMAGE:-linkedin/datahub-elasticsearch-setup}:${DATAHUB_VERSION:-head}
|
2022-04-26 01:29:24 +01:00
|
|
|
build:
|
|
|
|
context: ../
|
|
|
|
dockerfile: docker/elasticsearch-setup/Dockerfile
|
|
|
|
env_file: elasticsearch-setup/env/docker.env
|
|
|
|
depends_on:
|
2023-05-08 23:42:15 +02:00
|
|
|
elasticsearch:
|
|
|
|
condition: service_healthy
|
|
|
|
labels:
|
|
|
|
datahub_setup_job: true
|
2022-04-26 01:29:24 +01:00
|
|
|
cassandra:
|
|
|
|
container_name: cassandra
|
|
|
|
hostname: cassandra
|
|
|
|
image: cassandra:3.11
|
|
|
|
ports:
|
2023-05-08 23:42:15 +02:00
|
|
|
- 9042:9042
|
2022-04-26 01:29:24 +01:00
|
|
|
healthcheck:
|
2023-05-08 23:42:15 +02:00
|
|
|
test: cqlsh -u cassandra -p cassandra -e describe keyspaces
|
2022-04-26 01:29:24 +01:00
|
|
|
interval: 15s
|
|
|
|
timeout: 10s
|
|
|
|
retries: 10
|
|
|
|
volumes:
|
|
|
|
- cassandradata:/var/lib/cassandra
|
2023-05-08 23:42:15 +02:00
|
|
|
elasticsearch:
|
|
|
|
container_name: elasticsearch
|
|
|
|
hostname: elasticsearch
|
|
|
|
image: elasticsearch:7.10.1
|
|
|
|
ports:
|
|
|
|
- 9200:9200
|
|
|
|
env_file: elasticsearch/env/docker.env
|
|
|
|
environment:
|
|
|
|
- discovery.type=single-node
|
|
|
|
- xpack.security.enabled=false
|
|
|
|
healthcheck:
|
|
|
|
test: curl -sS --fail http://elasticsearch:9200/_cluster/health?wait_for_status=yellow&timeout=0s
|
|
|
|
start_period: 5s
|
|
|
|
interval: 1s
|
|
|
|
retries: 5
|
|
|
|
timeout: 5s
|
2022-04-26 01:29:24 +01:00
|
|
|
volumes:
|
2023-05-08 23:42:15 +02:00
|
|
|
- esdata:/usr/share/elasticsearch/data
|
|
|
|
neo4j:
|
|
|
|
container_name: neo4j
|
|
|
|
hostname: neo4j
|
|
|
|
image: neo4j:4.0.6
|
2022-04-26 01:29:24 +01:00
|
|
|
ports:
|
2023-05-08 23:42:15 +02:00
|
|
|
- 7474:7474
|
|
|
|
- 7687:7687
|
|
|
|
env_file: neo4j/env/docker.env
|
|
|
|
healthcheck:
|
|
|
|
test: wget http://neo4j:7474
|
|
|
|
start_period: 5s
|
|
|
|
interval: 1s
|
|
|
|
retries: 5
|
|
|
|
timeout: 5s
|
|
|
|
volumes:
|
|
|
|
- neo4jdata:/data
|
|
|
|
schema-registry:
|
|
|
|
container_name: schema-registry
|
|
|
|
hostname: schema-registry
|
2023-06-13 05:57:54 -07:00
|
|
|
image: confluentinc/cp-schema-registry:7.4.0
|
2023-05-08 23:42:15 +02:00
|
|
|
ports:
|
|
|
|
- ${DATAHUB_MAPPED_SCHEMA_REGISTRY_PORT:-8081}:8081
|
|
|
|
env_file: schema-registry/env/docker.env
|
|
|
|
healthcheck:
|
|
|
|
test: nc -z schema-registry 8081
|
|
|
|
start_period: 5s
|
|
|
|
interval: 1s
|
|
|
|
retries: 5
|
|
|
|
timeout: 5s
|
2022-04-26 01:29:24 +01:00
|
|
|
depends_on:
|
2023-05-08 23:42:15 +02:00
|
|
|
broker:
|
|
|
|
condition: service_healthy
|
|
|
|
broker:
|
|
|
|
container_name: broker
|
|
|
|
hostname: broker
|
2023-06-13 05:57:54 -07:00
|
|
|
image: confluentinc/cp-kafka:7.4.0
|
2022-04-26 01:29:24 +01:00
|
|
|
ports:
|
2023-05-08 23:42:15 +02:00
|
|
|
- 29092:29092
|
|
|
|
- 9092:9092
|
|
|
|
env_file: broker/env/docker.env
|
|
|
|
healthcheck:
|
|
|
|
test: nc -z broker 9092
|
|
|
|
start_period: 5s
|
|
|
|
interval: 1s
|
|
|
|
retries: 5
|
|
|
|
timeout: 5s
|
2022-04-26 01:29:24 +01:00
|
|
|
depends_on:
|
2023-05-08 23:42:15 +02:00
|
|
|
zookeeper:
|
|
|
|
condition: service_healthy
|
2022-04-26 01:29:24 +01:00
|
|
|
volumes:
|
2023-05-08 23:42:15 +02:00
|
|
|
- broker:/var/lib/kafka/data/
|
|
|
|
zookeeper:
|
|
|
|
container_name: zookeeper
|
|
|
|
hostname: zookeeper
|
2023-06-13 05:57:54 -07:00
|
|
|
image: confluentinc/cp-zookeeper:7.4.0
|
2023-05-08 23:42:15 +02:00
|
|
|
ports:
|
|
|
|
- 2181:2181
|
|
|
|
env_file: zookeeper/env/docker.env
|
|
|
|
healthcheck:
|
|
|
|
test: echo srvr | nc zookeeper 2181
|
2023-08-04 02:47:16 -07:00
|
|
|
start_period: 45s
|
2023-05-08 23:42:15 +02:00
|
|
|
interval: 5s
|
|
|
|
retries: 5
|
|
|
|
timeout: 5s
|
|
|
|
volumes:
|
|
|
|
- zkdata:/var/lib/zookeeper
|
2022-04-26 01:29:24 +01:00
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
name: datahub_network
|
|
|
|
volumes:
|
|
|
|
cassandradata:
|
|
|
|
esdata:
|
|
|
|
neo4jdata:
|
|
|
|
broker:
|
2023-05-08 23:42:15 +02:00
|
|
|
zkdata:
|