argos/deployment/docker-compose.override.yml

271 lines
8.7 KiB
YAML

services:
############################## PROXY ########################################
opencdmp.proxy:
restart: unless-stopped
cpus: 1
mem_limit: 256m
ports:
- "${PROXY_APP_PORT}:8081"
volumes:
- ${CONFIG_FILES_PATH}/proxy/nginx.conf:/etc/nginx/nginx.conf
- ${CONFIG_FILES_PATH}/proxy/ProxyNginx.conf:/etc/nginx/conf.d/default.conf
- ${LOG_FILES_PATH}/proxy:/tmp/logs
networks:
- opencdmp-proxy-network
############################## OPENCDMP APP #################################
opencdmp.backend:
restart: unless-stopped
cpus: 1
mem_limit: 2048m
environment:
- PROFILE=${PROFILE}
ports:
- "0.0.0.0:50030:8080"
volumes:
- ${CONFIG_FILES_PATH}/opencdmp/backend/config:/config
- ${CONFIG_FILES_PATH}/opencdmp/backend/certificates:/certificates
- ${CONFIG_FILES_PATH}/opencdmp/backend/i18n:/i18n
- ${CONFIG_FILES_PATH}/opencdmp/backend/material:/material
- ${CONFIG_FILES_PATH}/opencdmp/backend/Semantics.json:/Semantics.json
- ${STORAGE_PATH}/opencdmp/backend:/storage
- ${LOG_FILES_PATH}/opencdmp/backend:/logs
networks:
- opencdmp-proxy-network
- opencdmp-backend-network
- opencdmp-plugins-network
- opencdmp-elastic-shared-network
- opencdmp-keycloak-shared-network
- opencdmp-postgres-shared-network
- opencdmp-rabbitmq-shared-network
opencdmp.frontend:
restart: unless-stopped
cpus: 1
mem_limit: 2048m
ports:
- "0.0.0.0:50031:8080"
volumes:
- ${CONFIG_FILES_PATH}/opencdmp/frontend/config.json:/usr/share/nginx/html/assets/config/config.json
- ${CONFIG_FILES_PATH}/opencdmp/frontend/nginx.conf:/etc/nginx/nginx.conf
- ${CONFIG_FILES_PATH}/opencdmp/frontend/WebAppNginx.conf:/etc/nginx/conf.d/default.conf
networks:
- opencdmp-proxy-network
opencdmp.notification:
cpus: 1
mem_limit: 1024m
restart: unless-stopped
ports:
- "0.0.0.0:50036:8080"
environment:
- PROFILE=${PROFILE}
volumes:
- ${CONFIG_FILES_PATH}/opencdmp/notification/config:/config
- ${CONFIG_FILES_PATH}/opencdmp/notification/messages:/messages
- ${CONFIG_FILES_PATH}/opencdmp/notification/notification_templates:/notification_templates
- ${LOG_FILES_PATH}/opencdmp/notification:/logs
networks:
- opencdmp-proxy-network
- opencdmp-backend-network
- opencdmp-rabbitmq-shared-network
- opencdmp-keycloak-shared-network
- opencdmp-postgres-shared-network
opencdmp.annotation:
cpus: 1
mem_limit: 1024m
restart: unless-stopped
ports:
- "0.0.0.0:50035:8080"
environment:
- PROFILE=${PROFILE}
volumes:
- ${CONFIG_FILES_PATH}/opencdmp/annotation/config:/config
- ${CONFIG_FILES_PATH}/opencdmp/annotation/messages:/messages
- ${LOG_FILES_PATH}/opencdmp/annotation:/logs
networks:
- opencdmp-proxy-network
- opencdmp-backend-network
- opencdmp-rabbitmq-shared-network
- opencdmp-keycloak-shared-network
- opencdmp-postgres-shared-network
# # ############################## FILE-TRANSFORMER #################################
opencdmp.file.transformer.docx:
restart: unless-stopped
cpus: 1
mem_limit: 1024m
expose:
- "8080"
environment:
- SERVER_PORT=${SERVER_PORT}
- PROFILE=${PROFILE}
volumes:
- ${CONFIG_FILES_PATH}/opencdmp/file-transformer-docx/config:/config
- ${LOG_FILES_PATH}/opencdmp/file-transformer-docx:/logs
# - ${STORAGE_PATH}/opencdmp/file-transformer-docx:/storage
networks:
- opencdmp-plugins-network
- opencdmp-pdf-service-shared-network
opencdmp.file.transformer.rdajson:
restart: unless-stopped
cpus: 1
mem_limit: 1024m
expose:
- "8080"
environment:
- SERVER_PORT=${SERVER_PORT}
- PROFILE=${PROFILE}
volumes:
- ${CONFIG_FILES_PATH}/opencdmp/file-transformer-rda-json/config:/config
- ${CONFIG_FILES_PATH}/opencdmp/file-transformer-rda-json/internal:/internal
- ${LOG_FILES_PATH}/opencdmp/file-transformer-rda-json:/logs
networks:
- opencdmp-plugins-network
# ############################## ZENODO #######################################
opencdmp.zenodo:
restart: unless-stopped
cpus: 1
mem_limit: 1024m
expose:
- "8080"
environment:
- PROFILE=${PROFILE}
volumes:
- ${CONFIG_FILES_PATH}/opencdmp/zenodo/config:/config
- ${CONFIG_FILES_PATH}/opencdmp/zenodo/zenodo.jpg:/zenodo.jpg
- ${LOG_FILES_PATH}/opencdmp/zenodo:/logs
networks:
- opencdmp-plugins-network
- opencdmp-keycloak-shared-network
############################## POSTGRES 16 #################################
opencdmp.postgres:
restart: unless-stopped
mem_limit: 2048M
ports:
- "${POSTGRES_PORT}:5432"
env_file:
- ${CONFIG_FILES_PATH}/postgres/postgres.env
volumes:
- ${STORAGE_PATH}/postgres/data:/var/lib/postgresql/data
- ${CONFIG_FILES_PATH}/postgres/opencdmp_init.sql:/docker-entrypoint-initdb.d/opencdmp_init.sql
networks:
- opencdmp-postgres-shared-network
healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U postgres -d opencdmp'"]
interval: 15s
timeout: 60s
retries: 5
################################# ELASTICSEARCH #################################################
opencdmp.elasticsearch:
restart: unless-stopped
cpus: 2
mem_limit: 2048m
env_file:
- ${CONFIG_FILES_PATH}/elk/elk.env
environment:
ES_JAVA_OPTS: -Xmx1024m -Xms1024m
ulimits:
nproc: 65535
memlock:
soft: -1
hard: -1
volumes:
- ${CONFIG_FILES_PATH}/elk/elasticsearch/index_init.sh:/usr/share/elasticsearch/config/index_init.sh
- ${CONFIG_FILES_PATH}/elk/elasticsearch/log4j2.properties:/usr/share/elasticsearch/config/log4j2.properties:ro
- ${CONFIG_FILES_PATH}/elk/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
- ${STORAGE_PATH}/elasticsearch:/usr/share/elasticsearch/data
- ${LOG_FILES_PATH}/elasticsearch:/usr/share/elasticsearch/logs
expose:
- "9200"
- "9300"
networks:
- opencdmp-elastic-shared-network
healthcheck:
test: curl -s http://localhost:9200 >/dev/null; if [[ $$? == 52 ]]; then echo 0; else echo 1; fi
interval: 30s
timeout: 10s
retries: 5
#################################### KEYCLOAK ###############################################
opencdmp.keycloak:
restart: unless-stopped
command: ["start-dev", "--log=console,file", "--log-file=/tmp/logs/keycloak.log", "--import-realm"]
cpus: 2
mem_limit: 2048M
env_file:
- ${CONFIG_FILES_PATH}/keycloak/keycloak.env
environment:
- JAVA_OPTS_APPEND="-Djava.net.preferIPv4Stack=true"
volumes:
- ${LOG_FILES_PATH}/keycloak:/tmp/logs
- ${CONFIG_FILES_PATH}/keycloak/user_init.sh:/tmp/user_init.sh
- ${CONFIG_FILES_PATH}/keycloak/imports/opencdmp-realm.json:/opt/keycloak/data/import/opencdmp-realm.json
expose:
- "8080"
networks:
- opencdmp-proxy-network
- opencdmp-postgres-shared-network
- opencdmp-keycloak-shared-network
################################# RABBITMQ ###############################################
opencdmp.rabbitmq:
labels:
NAME: "rabbitmq"
cpus: 1
mem_limit: 512m
restart: unless-stopped
ports:
- "0.0.0.0:15672:15672"
- "0.0.0.0:5672:5672"
env_file:
- ${CONFIG_FILES_PATH}/rabbitmq/rabbitmq.env
volumes:
- ${CONFIG_FILES_PATH}/rabbitmq/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf:ro
networks:
- opencdmp-rabbitmq-shared-network
################################# PDF SERVICE ##############################################
opencdmp.pdf-service:
cpus: 2
mem_limit: 2048m
restart: unless-stopped
expose:
- "3000"
hostname: pdf-service
env_file:
- ${CONFIG_FILES_PATH}/pdf-service/pdf-service.env
networks:
- opencdmp-pdf-service-shared-network
networks:
opencdmp-proxy-network:
name: opencdmp-proxy-network
opencdmp-backend-network:
name: opencdmp-backend-network
opencdmp-plugins-network:
name: opencdmp-plugins-network
opencdmp-keycloak-shared-network:
external: true
name: opencdmp-keycloak-shared-network
opencdmp-pdf-service-shared-network:
external: true
name: opencdmp-pdf-service-shared-network
opencdmp-rabbitmq-shared-network:
external: true
name: opencdmp-rabbitmq-shared-network
opencdmp-elastic-shared-network:
external: true
name: opencdmp-elastic-shared-network
opencdmp-postgres-shared-network:
external: true
name: opencdmp-postgres-shared-network