dnet-docker/docker-compose.yml

217 lines
5.7 KiB
YAML
Raw Permalink Normal View History

2023-09-13 09:40:49 +02:00
version: "3"
services:
2023-09-15 16:05:21 +02:00
context-manager:
build: ./dnet-app/apps/dnet-context-manager
2023-09-28 10:28:33 +02:00
expose:
2023-09-13 13:51:30 +02:00
- ${SPRING_BOOT_PORT}
2023-09-13 09:40:49 +02:00
networks:
- backend
depends_on:
2023-09-26 11:53:18 +02:00
- db-main
2023-09-13 09:40:49 +02:00
environment:
2023-09-28 12:02:00 +02:00
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_CONTEXTS_DB}
2023-09-13 13:51:30 +02:00
- SPRING_DATASOURCE_USERNAME=${PG_USER}
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
2023-09-13 09:40:49 +02:00
2023-09-26 10:36:26 +02:00
vocabulary-manager:
2023-09-19 12:36:14 +02:00
build: ./dnet-app/apps/dnet-vocabulary-manager
expose:
- ${SPRING_BOOT_PORT}
networks:
- backend
depends_on:
2023-09-26 11:53:18 +02:00
- db-main
2023-09-19 12:36:14 +02:00
environment:
2023-09-28 12:02:00 +02:00
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_VOCS_DB}
2023-09-19 12:36:14 +02:00
- SPRING_DATASOURCE_USERNAME=${PG_USER}
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
2023-09-28 10:28:33 +02:00
2023-09-15 16:05:21 +02:00
dsm:
build: ./dnet-app/apps/dnet-datasource-manager
2023-09-28 10:28:33 +02:00
expose:
2023-09-15 16:05:21 +02:00
- ${SPRING_BOOT_PORT}
networks:
- backend
depends_on:
2023-09-28 10:28:33 +02:00
- db-main
2023-09-15 16:05:21 +02:00
environment:
2023-09-28 10:28:33 +02:00
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_DSM_DB}
2023-09-15 16:05:21 +02:00
- SPRING_DATASOURCE_USERNAME=${PG_USER}
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
2023-09-28 10:28:33 +02:00
2023-10-11 15:00:25 +02:00
index-manager:
build: ./dnet-app/apps/dnet-index-manager
2023-09-28 10:28:33 +02:00
expose:
2023-09-15 16:05:21 +02:00
- ${SPRING_BOOT_PORT}
networks:
- backend
depends_on:
2023-09-26 11:53:18 +02:00
- db-main
2023-09-15 16:05:21 +02:00
environment:
2024-01-04 12:31:47 +01:00
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_RESOURCES_DB}
2023-09-15 16:05:21 +02:00
- SPRING_DATASOURCE_USERNAME=${PG_USER}
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
mdsm:
build: ./dnet-app/apps/dnet-mdstore-manager
2023-09-28 10:28:33 +02:00
expose:
2023-09-15 16:05:21 +02:00
- ${SPRING_BOOT_PORT}
networks:
- backend
depends_on:
2023-09-26 11:53:18 +02:00
- db-main
2023-09-15 16:05:21 +02:00
environment:
2024-01-04 12:31:47 +01:00
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_RESOURCES_DB}
2023-09-15 16:05:21 +02:00
- SPRING_DATASOURCE_USERNAME=${PG_USER}
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
2023-10-11 15:00:25 +02:00
oai-manager:
build: ./dnet-app/apps/dnet-oai-manager
2023-09-28 10:28:33 +02:00
expose:
2023-09-15 16:05:21 +02:00
- ${SPRING_BOOT_PORT}
networks:
- backend
depends_on:
2023-09-26 11:53:18 +02:00
- db-main
2023-09-15 16:05:21 +02:00
environment:
2024-01-04 12:31:47 +01:00
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_RESOURCES_DB}
2023-09-15 16:05:21 +02:00
- SPRING_DATASOURCE_USERNAME=${PG_USER}
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
resource-manager:
build: ./dnet-app/apps/dnet-resource-manager
2023-09-28 10:28:33 +02:00
expose:
2023-09-15 16:05:21 +02:00
- ${SPRING_BOOT_PORT}
networks:
- backend
depends_on:
2023-09-26 11:53:18 +02:00
- db-main
2023-09-15 16:05:21 +02:00
environment:
2024-01-04 12:31:47 +01:00
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_RESOURCES_DB}
2023-09-15 16:05:21 +02:00
- SPRING_DATASOURCE_USERNAME=${PG_USER}
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
2023-10-11 09:52:41 +02:00
wf-aggregation-postgres:
build: ./dnet-app/apps/dnet-wf-aggregation-postgres
2023-09-28 10:28:33 +02:00
expose:
2023-09-15 16:05:21 +02:00
- ${SPRING_BOOT_PORT}
networks:
- backend
depends_on:
2023-09-28 10:28:33 +02:00
- db-main
2023-09-15 16:05:21 +02:00
environment:
2023-09-28 10:28:33 +02:00
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_WFS_DB}
2023-09-15 16:05:21 +02:00
- SPRING_DATASOURCE_USERNAME=${PG_USER}
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
wf-manager:
build: ./dnet-app/apps/dnet-wf-manager
2023-09-28 10:28:33 +02:00
expose:
2023-09-15 16:05:21 +02:00
- ${SPRING_BOOT_PORT}
networks:
- backend
depends_on:
2023-09-28 10:28:33 +02:00
- db-main
2023-09-15 16:05:21 +02:00
environment:
2023-09-28 10:28:33 +02:00
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_WFS_DB}
2023-09-15 16:05:21 +02:00
- SPRING_DATASOURCE_USERNAME=${PG_USER}
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
mail-sender:
build: ./dnet-app/apps/dnet-email-sender
2023-09-28 10:28:33 +02:00
expose:
2023-09-13 13:51:30 +02:00
- ${SPRING_BOOT_PORT}
2023-09-13 09:40:49 +02:00
networks:
- backend
2023-09-26 11:53:18 +02:00
db-main:
2023-09-13 09:40:49 +02:00
image: postgres:15.4
restart: always
2023-09-13 13:51:30 +02:00
expose:
- ${PG_PORT}
2023-09-13 09:40:49 +02:00
networks:
- backend
environment:
2023-09-26 09:56:19 +02:00
POSTGRES_USER: ${PG_USER}
POSTGRES_PASSWORD: ${PG_PASSWORD}
2024-01-04 12:31:47 +01:00
POSTGRES_DB: ${PG_RESOURCES_DB}
2023-09-28 12:02:00 +02:00
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-09-26 09:56:19 +02:00
volumes:
2023-09-28 10:28:33 +02:00
- pg_main_data:/var/lib/postgresql/data
- ./data/sql/resources.sql:/docker-entrypoint-initdb.d/init_resources.sql
- ./data/sql/dsm.sql:/docker-entrypoint-initdb.d/init_dsm.sql
- ./data/sql/wfs.sql:/docker-entrypoint-initdb.d/init_wfs.sql
2023-09-28 12:02:00 +02:00
- ./data/sql/vocabularies.sql:/docker-entrypoint-initdb.d/init_vocabularies.sql
- ./data/sql/contexts.sql:/docker-entrypoint-initdb.d/init_contexts.sql
- ./data/sql/mdstores.sql:/docker-entrypoint-initdb.d/init_mdstores.sql
2023-09-26 09:56:19 +02:00
2023-09-26 11:53:18 +02:00
db-mdstores:
2023-09-13 13:51:30 +02:00
image: postgres:15.4
restart: always
expose:
- ${PG_PORT}
networks:
- backend
environment:
2023-09-28 12:02:00 +02:00
POSTGRES_DB: ${PG_MDSTORE_CONTENT_DB}
2023-09-13 13:51:30 +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-09-28 10:28:33 +02:00
- pg_mdstore_data:/var/lib/postgresql/data
2023-09-13 13:51:30 +02:00
2023-09-13 09:40:49 +02:00
solr:
image: solr:9.3.0
2023-09-13 13:51:30 +02:00
expose:
2023-09-28 10:28:33 +02:00
- ${SOLR_PORT}
2023-09-13 09:40:49 +02:00
networks:
- backend
volumes:
- solrdata:/var/solr
command:
- solr-precreate
- gettingstarted
2023-09-27 14:39:58 +02:00
web:
build: ./dnet-app/frontends/is
2023-09-28 10:28:33 +02:00
ports:
2023-09-27 14:39:58 +02:00
- ${PUBLIC_PORT}:${PUBLIC_PORT}
2023-10-04 11:34:06 +02:00
- ${PUBLIC_API_PORT}:${PUBLIC_API_PORT}
2023-09-13 13:51:30 +02:00
volumes:
2023-09-27 14:39:58 +02:00
- /app/node_modules
- .:/app
2023-10-03 11:26:23 +02:00
- ./data/nginx-templates/production.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-09-27 14:39:58 +02:00
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-09-13 13:51:30 +02:00
networks:
- frontend
- backend
2023-09-26 11:53:18 +02:00
depends_on:
- context-manager
- dsm
- mail-sender
2023-10-11 15:00:25 +02:00
- index-manager
2023-09-26 11:53:18 +02:00
- mdsm
2023-10-11 15:00:25 +02:00
- oai-manager
2023-09-26 11:53:18 +02:00
- resource-manager
- vocabulary-manager
2023-10-11 09:52:41 +02:00
- wf-aggregation-postgres
2023-09-26 11:53:18 +02:00
- wf-manager
2023-09-13 13:51:30 +02:00
2023-09-13 09:40:49 +02:00
networks:
backend:
frontend:
2023-09-28 10:28:33 +02:00
2023-09-13 09:40:49 +02:00
volumes:
solrdata:
2023-09-13 13:51:30 +02:00
pg_main_data:
pg_mdstore_data: