2023-10-03 09:51:41 +02:00
|
|
|
version: "3"
|
|
|
|
services:
|
|
|
|
context-manager:
|
|
|
|
build: ./dnet-app/apps/dnet-context-manager
|
|
|
|
expose:
|
|
|
|
- ${SPRING_BOOT_PORT}
|
|
|
|
networks:
|
|
|
|
- backend
|
|
|
|
depends_on:
|
|
|
|
- db-main
|
|
|
|
environment:
|
|
|
|
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_CONTEXTS_DB}
|
|
|
|
- SPRING_DATASOURCE_USERNAME=${PG_USER}
|
|
|
|
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
2023-10-24 12:08:45 +02:00
|
|
|
profiles:
|
|
|
|
- contexts
|
2023-10-03 09:51:41 +02:00
|
|
|
|
|
|
|
vocabulary-manager:
|
|
|
|
build: ./dnet-app/apps/dnet-vocabulary-manager
|
|
|
|
expose:
|
|
|
|
- ${SPRING_BOOT_PORT}
|
|
|
|
networks:
|
|
|
|
- backend
|
|
|
|
depends_on:
|
|
|
|
- db-main
|
|
|
|
environment:
|
|
|
|
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_VOCS_DB}
|
|
|
|
- SPRING_DATASOURCE_USERNAME=${PG_USER}
|
|
|
|
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
2023-10-24 12:08:45 +02:00
|
|
|
profiles:
|
|
|
|
- vocs
|
2023-10-03 09:51:41 +02:00
|
|
|
|
|
|
|
dsm:
|
|
|
|
build: ./dnet-app/apps/dnet-datasource-manager
|
|
|
|
expose:
|
|
|
|
- ${SPRING_BOOT_PORT}
|
|
|
|
networks:
|
|
|
|
- backend
|
|
|
|
depends_on:
|
|
|
|
- db-main
|
|
|
|
environment:
|
|
|
|
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_DSM_DB}
|
|
|
|
- SPRING_DATASOURCE_USERNAME=${PG_USER}
|
|
|
|
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
2023-10-24 12:08:45 +02:00
|
|
|
profiles:
|
|
|
|
- dsm
|
|
|
|
|
2023-10-11 15:00:25 +02:00
|
|
|
index-manager:
|
|
|
|
build: ./dnet-app/apps/dnet-index-manager
|
2023-10-03 09:51:41 +02:00
|
|
|
expose:
|
|
|
|
- ${SPRING_BOOT_PORT}
|
|
|
|
networks:
|
|
|
|
- backend
|
|
|
|
depends_on:
|
|
|
|
- db-main
|
|
|
|
environment:
|
2023-11-09 14:53:58 +01:00
|
|
|
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_INDEX_DB}
|
2023-10-03 09:51:41 +02:00
|
|
|
- SPRING_DATASOURCE_USERNAME=${PG_USER}
|
|
|
|
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
2023-11-10 10:18:10 +01:00
|
|
|
- SOLR_URLS=http://solr-1:${SOLR_PORT}/solr
|
|
|
|
- ZOOKEEPER_SERVER=zoo-1
|
2023-10-24 12:08:45 +02:00
|
|
|
profiles:
|
|
|
|
- index
|
|
|
|
|
2023-10-03 09:51:41 +02:00
|
|
|
mdsm:
|
|
|
|
build: ./dnet-app/apps/dnet-mdstore-manager
|
|
|
|
expose:
|
|
|
|
- ${SPRING_BOOT_PORT}
|
|
|
|
networks:
|
|
|
|
- backend
|
|
|
|
depends_on:
|
|
|
|
- db-main
|
2023-10-24 12:08:45 +02:00
|
|
|
- db-mdstores-data
|
2023-10-03 09:51:41 +02:00
|
|
|
environment:
|
|
|
|
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_MAIN_DB}
|
|
|
|
- SPRING_DATASOURCE_USERNAME=${PG_USER}
|
|
|
|
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
2023-10-24 12:08:45 +02:00
|
|
|
- MDSTORES_DATA_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_MDSTORES_DATA_DB}
|
|
|
|
- MDSTORES_DATA_DATASOURCE_USERNAME=${PG_USER}
|
|
|
|
- MDSTORES_DATA_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
|
|
|
profiles:
|
|
|
|
- mdstores
|
2023-10-03 09:51:41 +02:00
|
|
|
|
2023-10-11 15:00:25 +02:00
|
|
|
oai-manager:
|
|
|
|
build: ./dnet-app/apps/dnet-oai-manager
|
2023-10-03 09:51:41 +02:00
|
|
|
expose:
|
|
|
|
- ${SPRING_BOOT_PORT}
|
|
|
|
networks:
|
|
|
|
- backend
|
|
|
|
depends_on:
|
2023-11-09 14:53:58 +01:00
|
|
|
- db-oai
|
2023-10-03 09:51:41 +02:00
|
|
|
environment:
|
2023-11-09 14:53:58 +01:00
|
|
|
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-oai:${PG_PORT}/${PG_OAI_DB}
|
2023-10-03 09:51:41 +02:00
|
|
|
- SPRING_DATASOURCE_USERNAME=${PG_USER}
|
|
|
|
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
2023-10-24 12:08:45 +02:00
|
|
|
profiles:
|
|
|
|
- oai
|
2023-10-03 09:51:41 +02:00
|
|
|
|
|
|
|
resource-manager:
|
|
|
|
build: ./dnet-app/apps/dnet-resource-manager
|
|
|
|
expose:
|
|
|
|
- ${SPRING_BOOT_PORT}
|
|
|
|
networks:
|
|
|
|
- backend
|
|
|
|
depends_on:
|
|
|
|
- db-main
|
|
|
|
environment:
|
|
|
|
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_MAIN_DB}
|
|
|
|
- SPRING_DATASOURCE_USERNAME=${PG_USER}
|
|
|
|
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
2023-10-24 12:08:45 +02:00
|
|
|
profiles:
|
|
|
|
- base
|
2023-10-03 09:51:41 +02:00
|
|
|
|
2023-10-11 09:52:41 +02:00
|
|
|
wf-aggregation-postgres:
|
|
|
|
build: ./dnet-app/apps/dnet-wf-aggregation-postgres
|
2023-10-03 09:51:41 +02:00
|
|
|
expose:
|
|
|
|
- ${SPRING_BOOT_PORT}
|
|
|
|
networks:
|
|
|
|
- backend
|
|
|
|
depends_on:
|
|
|
|
- db-main
|
2023-10-24 12:08:45 +02:00
|
|
|
- db-mdstores-data
|
2023-10-03 09:51:41 +02:00
|
|
|
environment:
|
|
|
|
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_WFS_DB}
|
|
|
|
- SPRING_DATASOURCE_USERNAME=${PG_USER}
|
|
|
|
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
2023-10-24 12:08:45 +02:00
|
|
|
- MDSTORES_DATA_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_MDSTORES_DATA_DB}
|
|
|
|
- MDSTORES_DATA_DATASOURCE_USERNAME=${PG_USER}
|
|
|
|
- MDSTORES_DATA_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
|
|
|
profiles:
|
|
|
|
- wfs
|
2023-10-03 09:51:41 +02:00
|
|
|
|
|
|
|
wf-manager:
|
|
|
|
build: ./dnet-app/apps/dnet-wf-manager
|
|
|
|
expose:
|
|
|
|
- ${SPRING_BOOT_PORT}
|
|
|
|
networks:
|
|
|
|
- backend
|
|
|
|
depends_on:
|
|
|
|
- db-main
|
|
|
|
environment:
|
|
|
|
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_WFS_DB}
|
|
|
|
- SPRING_DATASOURCE_USERNAME=${PG_USER}
|
|
|
|
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
2023-10-24 12:08:45 +02:00
|
|
|
profiles:
|
|
|
|
- wfs
|
|
|
|
|
2023-10-03 09:51:41 +02:00
|
|
|
mail-sender:
|
|
|
|
build: ./dnet-app/apps/dnet-email-sender
|
|
|
|
expose:
|
|
|
|
- ${SPRING_BOOT_PORT}
|
|
|
|
networks:
|
|
|
|
- backend
|
2023-10-24 12:08:45 +02:00
|
|
|
profiles:
|
|
|
|
- mail
|
2023-10-03 09:51:41 +02:00
|
|
|
|
|
|
|
db-main:
|
|
|
|
image: postgres:15.4
|
|
|
|
restart: always
|
|
|
|
expose:
|
|
|
|
- ${PG_PORT}
|
|
|
|
networks:
|
|
|
|
- backend
|
|
|
|
environment:
|
|
|
|
POSTGRES_USER: ${PG_USER}
|
|
|
|
POSTGRES_PASSWORD: ${PG_PASSWORD}
|
|
|
|
POSTGRES_DB: ${PG_MAIN_DB}
|
|
|
|
POSTGRES_DB_DSM: ${PG_DSM_DB}
|
|
|
|
POSTGRES_DB_WFS: ${PG_WFS_DB}
|
|
|
|
POSTGRES_DB_VOCS: ${PG_VOCS_DB}
|
|
|
|
POSTGRES_DB_CONTEXTS: ${PG_CONTEXTS_DB}
|
|
|
|
POSTGRES_DB_MDSTORES: ${PG_MDSTORES_DB}
|
2023-11-09 14:53:58 +01:00
|
|
|
POSTGRES_DB_INDEX: ${PG_INDEX_DB}
|
2023-10-03 09:51:41 +02:00
|
|
|
volumes:
|
|
|
|
- pg_main_data:/var/lib/postgresql/data
|
2023-10-24 12:08:45 +02:00
|
|
|
- ./data/sql/resources.sql:/docker-entrypoint-initdb.d/init_01_resources.sql
|
|
|
|
- ./data/sql/dsm.sql:/docker-entrypoint-initdb.d/init_02_dsm.sql
|
|
|
|
- ./data/sql/wfs.sql:/docker-entrypoint-initdb.d/init_03_wfs.sql
|
|
|
|
- ./data/sql/vocabularies.sql:/docker-entrypoint-initdb.d/init_04_vocabularies.sql
|
|
|
|
- ./data/sql/contexts.sql:/docker-entrypoint-initdb.d/init_05_contexts.sql
|
|
|
|
- ./data/sql/mdstores.sql:/docker-entrypoint-initdb.d/init_06_mdstores.sql
|
2023-11-09 14:53:58 +01:00
|
|
|
- ./data/sql/index_configs.sql:/docker-entrypoint-initdb.d/init_07_index_configs.sql
|
|
|
|
- ./data/sql/instances/openportals.sql:/docker-entrypoint-initdb.d/init_99_openportals.sql
|
2023-10-24 12:08:45 +02:00
|
|
|
profiles:
|
|
|
|
- base
|
|
|
|
|
2023-11-09 14:53:58 +01:00
|
|
|
db-oai:
|
|
|
|
image: postgres:15.4
|
|
|
|
restart: always
|
|
|
|
expose:
|
|
|
|
- ${PG_PORT}
|
|
|
|
networks:
|
|
|
|
- backend
|
|
|
|
environment:
|
|
|
|
POSTGRES_DB: ${PG_OAI_DB}
|
|
|
|
POSTGRES_USER: ${PG_USER}
|
|
|
|
POSTGRES_PASSWORD: ${PG_PASSWORD}
|
|
|
|
volumes:
|
|
|
|
- ./data/sql/oai.sql:/docker-entrypoint-initdb.d/init.sql
|
|
|
|
- pg_oai_data:/var/lib/postgresql/data
|
|
|
|
profiles:
|
|
|
|
- oai
|
|
|
|
- wfs
|
|
|
|
|
2023-10-24 12:08:45 +02:00
|
|
|
db-mdstores-data:
|
2023-10-03 09:51:41 +02:00
|
|
|
image: postgres:15.4
|
|
|
|
restart: always
|
|
|
|
expose:
|
|
|
|
- ${PG_PORT}
|
|
|
|
networks:
|
|
|
|
- backend
|
|
|
|
environment:
|
2023-10-24 12:08:45 +02:00
|
|
|
POSTGRES_DB: ${PG_MDSTORES_DATA_DB}
|
2023-10-03 09:51:41 +02:00
|
|
|
POSTGRES_USER: ${PG_USER}
|
|
|
|
POSTGRES_PASSWORD: ${PG_PASSWORD}
|
|
|
|
volumes:
|
2023-10-20 15:51:46 +02:00
|
|
|
- ./data/sql/mdstores_data.sql:/docker-entrypoint-initdb.d/init.sql
|
2023-10-24 12:08:45 +02:00
|
|
|
- pg_mdstores_data:/var/lib/postgresql/data
|
|
|
|
profiles:
|
|
|
|
- mdstores
|
|
|
|
- wfs
|
2023-11-09 14:53:58 +01:00
|
|
|
|
2023-10-31 12:28:25 +01:00
|
|
|
solr-1:
|
2023-10-26 12:22:48 +02:00
|
|
|
image: solr:9.4.0
|
2023-10-31 12:28:25 +01:00
|
|
|
container_name: solr-1
|
2023-10-30 16:00:10 +01:00
|
|
|
ports:
|
|
|
|
- ${SOLR_PORT}:${SOLR_PORT}
|
2023-10-03 09:51:41 +02:00
|
|
|
expose:
|
|
|
|
- ${SOLR_PORT}
|
2023-10-31 12:28:25 +01:00
|
|
|
environment:
|
|
|
|
- ZK_HOST=zoo-1:2181
|
|
|
|
- SOLR_HOST=localhost # For DEV only, it permits unit tests
|
2023-10-03 09:51:41 +02:00
|
|
|
networks:
|
2023-10-31 12:28:25 +01:00
|
|
|
- solr
|
2023-10-30 16:00:10 +01:00
|
|
|
- frontend
|
2023-10-31 12:28:25 +01:00
|
|
|
depends_on:
|
|
|
|
- zoo-1
|
2023-10-24 12:08:45 +02:00
|
|
|
profiles:
|
|
|
|
- index
|
2023-10-03 09:51:41 +02:00
|
|
|
|
2023-10-31 12:28:25 +01:00
|
|
|
zoo-1:
|
|
|
|
image: zookeeper:3.7.2
|
|
|
|
container_name: zoo-1
|
|
|
|
restart: always
|
|
|
|
hostname: zoo-1
|
|
|
|
volumes:
|
|
|
|
- zoo1data:/data
|
|
|
|
ports:
|
|
|
|
- 2181:2181
|
|
|
|
- 7001:7000
|
|
|
|
environment:
|
|
|
|
ZOO_MY_ID: 1
|
|
|
|
ZOO_SERVERS: server.1=zoo-1:2888:3888;2181
|
2023-10-31 16:00:53 +01:00
|
|
|
ZOO_4LW_COMMANDS_WHITELIST: mntr, conf, ruok
|
|
|
|
ZOO_CFG_EXTRA: "metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider metricsProvider.httpPort=7000 metricsProvider.exportJvmInfo=true"
|
2023-10-31 12:28:25 +01:00
|
|
|
networks:
|
|
|
|
- solr
|
|
|
|
- frontend
|
|
|
|
|
2023-10-03 09:51:41 +02:00
|
|
|
angular-dev:
|
|
|
|
build:
|
|
|
|
context: ./dnet-app/frontends/is
|
|
|
|
dockerfile: dockerfile.dev
|
|
|
|
ports:
|
2023-10-03 11:26:23 +02:00
|
|
|
- 4200
|
|
|
|
networks:
|
|
|
|
- backend
|
2023-10-03 09:51:41 +02:00
|
|
|
volumes:
|
|
|
|
- /app/node_modules
|
2023-10-03 11:26:23 +02:00
|
|
|
- ./dnet-app/frontends/is:/app
|
2023-10-24 12:08:45 +02:00
|
|
|
profiles:
|
|
|
|
- ui
|
2023-10-03 09:51:41 +02:00
|
|
|
|
|
|
|
web-dev:
|
|
|
|
image: nginx
|
|
|
|
volumes:
|
2023-10-03 11:26:23 +02:00
|
|
|
- ./data/nginx-templates/development.conf.template:/etc/nginx/templates/default.conf.template
|
2023-10-04 11:34:06 +02:00
|
|
|
- ./data/nginx-templates/api.conf.template:/etc/nginx/templates/api.conf.template
|
2023-10-03 09:51:41 +02:00
|
|
|
ports:
|
|
|
|
- ${PUBLIC_PORT}:${PUBLIC_PORT}
|
2023-10-04 11:34:06 +02:00
|
|
|
- ${PUBLIC_API_PORT}:${PUBLIC_API_PORT}
|
2023-10-03 09:51:41 +02:00
|
|
|
networks:
|
|
|
|
- frontend
|
|
|
|
- backend
|
|
|
|
environment:
|
|
|
|
- NGINX_PORT=${PUBLIC_PORT}
|
2023-10-04 11:34:06 +02:00
|
|
|
- API_PORT=${PUBLIC_API_PORT}
|
|
|
|
- SPRING_BOOT_PORT=${SPRING_BOOT_PORT}
|
2023-10-03 09:51:41 +02:00
|
|
|
depends_on:
|
|
|
|
- context-manager
|
|
|
|
- dsm
|
|
|
|
- mail-sender
|
2023-10-11 15:00:25 +02:00
|
|
|
- index-manager
|
2023-10-03 09:51:41 +02:00
|
|
|
- mdsm
|
2023-10-11 15:00:25 +02:00
|
|
|
- oai-manager
|
2023-10-03 09:51:41 +02:00
|
|
|
- resource-manager
|
|
|
|
- vocabulary-manager
|
2023-10-11 09:52:41 +02:00
|
|
|
- wf-aggregation-postgres
|
2023-10-03 09:51:41 +02:00
|
|
|
- wf-manager
|
|
|
|
- angular-dev
|
2023-10-24 12:08:45 +02:00
|
|
|
profiles:
|
|
|
|
- ui
|
2023-10-03 09:51:41 +02:00
|
|
|
|
|
|
|
networks:
|
2023-10-31 12:28:25 +01:00
|
|
|
solr:
|
2023-10-03 09:51:41 +02:00
|
|
|
backend:
|
|
|
|
frontend:
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
solrdata:
|
|
|
|
pg_main_data:
|
2023-10-24 12:08:45 +02:00
|
|
|
pg_mdstores_data:
|
2023-11-09 14:53:58 +01:00
|
|
|
pg_oai_data:
|
2023-10-31 12:28:25 +01:00
|
|
|
zoo1data:
|
|
|
|
|