217 lines
5.7 KiB
YAML
217 lines
5.7 KiB
YAML
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}
|
|
|
|
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}
|
|
|
|
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}
|
|
|
|
index-manager:
|
|
build: ./dnet-app/apps/dnet-index-manager
|
|
expose:
|
|
- ${SPRING_BOOT_PORT}
|
|
networks:
|
|
- backend
|
|
depends_on:
|
|
- db-main
|
|
environment:
|
|
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_RESOURCES_DB}
|
|
- SPRING_DATASOURCE_USERNAME=${PG_USER}
|
|
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
|
|
|
mdsm:
|
|
build: ./dnet-app/apps/dnet-mdstore-manager
|
|
expose:
|
|
- ${SPRING_BOOT_PORT}
|
|
networks:
|
|
- backend
|
|
depends_on:
|
|
- db-main
|
|
environment:
|
|
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_RESOURCES_DB}
|
|
- SPRING_DATASOURCE_USERNAME=${PG_USER}
|
|
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
|
|
|
oai-manager:
|
|
build: ./dnet-app/apps/dnet-oai-manager
|
|
expose:
|
|
- ${SPRING_BOOT_PORT}
|
|
networks:
|
|
- backend
|
|
depends_on:
|
|
- db-main
|
|
environment:
|
|
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-main:${PG_PORT}/${PG_RESOURCES_DB}
|
|
- SPRING_DATASOURCE_USERNAME=${PG_USER}
|
|
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
|
|
|
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_RESOURCES_DB}
|
|
- SPRING_DATASOURCE_USERNAME=${PG_USER}
|
|
- SPRING_DATASOURCE_PASSWORD=${PG_PASSWORD}
|
|
|
|
wf-aggregation-postgres:
|
|
build: ./dnet-app/apps/dnet-wf-aggregation-postgres
|
|
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}
|
|
|
|
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}
|
|
|
|
mail-sender:
|
|
build: ./dnet-app/apps/dnet-email-sender
|
|
expose:
|
|
- ${SPRING_BOOT_PORT}
|
|
networks:
|
|
- backend
|
|
|
|
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_RESOURCES_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}
|
|
volumes:
|
|
- 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
|
|
- ./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
|
|
|
|
db-mdstores:
|
|
image: postgres:15.4
|
|
restart: always
|
|
expose:
|
|
- ${PG_PORT}
|
|
networks:
|
|
- backend
|
|
environment:
|
|
POSTGRES_DB: ${PG_MDSTORE_CONTENT_DB}
|
|
POSTGRES_USER: ${PG_USER}
|
|
POSTGRES_PASSWORD: ${PG_PASSWORD}
|
|
volumes:
|
|
- ./data/sql/mdstores_data.sql:/docker-entrypoint-initdb.d/init.sql
|
|
- pg_mdstore_data:/var/lib/postgresql/data
|
|
|
|
solr:
|
|
image: solr:9.3.0
|
|
expose:
|
|
- ${SOLR_PORT}
|
|
networks:
|
|
- backend
|
|
volumes:
|
|
- solrdata:/var/solr
|
|
command:
|
|
- solr-precreate
|
|
- gettingstarted
|
|
|
|
web:
|
|
build: ./dnet-app/frontends/is
|
|
ports:
|
|
- ${PUBLIC_PORT}:${PUBLIC_PORT}
|
|
- ${PUBLIC_API_PORT}:${PUBLIC_API_PORT}
|
|
volumes:
|
|
- /app/node_modules
|
|
- .:/app
|
|
- ./data/nginx-templates/production.conf.template:/etc/nginx/templates/default.conf.template
|
|
- ./data/nginx-templates/api.conf.template:/etc/nginx/templates/api.conf.template
|
|
environment:
|
|
- NGINX_PORT=${PUBLIC_PORT}
|
|
- API_PORT=${PUBLIC_API_PORT}
|
|
- SPRING_BOOT_PORT=${SPRING_BOOT_PORT}
|
|
networks:
|
|
- frontend
|
|
- backend
|
|
depends_on:
|
|
- context-manager
|
|
- dsm
|
|
- mail-sender
|
|
- index-manager
|
|
- mdsm
|
|
- oai-manager
|
|
- resource-manager
|
|
- vocabulary-manager
|
|
- wf-aggregation-postgres
|
|
- wf-manager
|
|
|
|
networks:
|
|
backend:
|
|
frontend:
|
|
|
|
|
|
volumes:
|
|
solrdata:
|
|
pg_main_data:
|
|
pg_mdstore_data:
|