| 
									
										
										
										
											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
 | 
					
						
							|  |  |  |     image: acryldata/datahub-actions:${ACTIONS_VERSION:-head}
 | 
					
						
							|  |  |  |     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
 | 
					
						
							|  |  |  |     image: confluentinc/cp-schema-registry:7.2.2
 | 
					
						
							|  |  |  |     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
 | 
					
						
							|  |  |  |     image: confluentinc/cp-kafka:7.2.2
 | 
					
						
							| 
									
										
										
										
											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
 | 
					
						
							|  |  |  |     image: confluentinc/cp-zookeeper:7.2.2
 | 
					
						
							|  |  |  |     ports:
 | 
					
						
							|  |  |  |       - 2181:2181
 | 
					
						
							|  |  |  |     env_file: zookeeper/env/docker.env
 | 
					
						
							|  |  |  |     healthcheck:
 | 
					
						
							|  |  |  |       test: echo srvr | nc zookeeper 2181
 | 
					
						
							|  |  |  |       start_period: 2s
 | 
					
						
							|  |  |  |       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:
 |