382 lines
11 KiB
YAML
382 lines
11 KiB
YAML
services:
|
|
############################## PROXY ########################################
|
|
opendmp.proxy:
|
|
restart: unless-stopped
|
|
cpus: 1
|
|
mem_limit: 256m
|
|
ports:
|
|
- "${PROXY_APP_PORT}:8081"
|
|
- "${PROXY_MS_PORT}:8082"
|
|
env_file:
|
|
- ./proxy/proxy.env
|
|
volumes:
|
|
- ./proxy/nginx.conf:/etc/nginx/nginx.conf
|
|
- ./proxy/ProxyNginx.conf:/etc/nginx/conf.d/default.conf
|
|
- ./logs/proxy:/tmp/logs
|
|
networks:
|
|
- opendmp-proxy-network
|
|
|
|
############################## OPENDMP APP #################################
|
|
# opendmp.backend:
|
|
# restart: unless-stopped
|
|
# cpus: 1
|
|
# mem_limit: 2048m
|
|
# environment:
|
|
# - PROFILE=${PROFILE}
|
|
# ports:
|
|
# - "8080"
|
|
# volumes:
|
|
# - opendmp/backend/config:/config
|
|
# - opendmp/backend/certificates:/certificates
|
|
# - opendmp/backend/i18n:/i18n
|
|
# - opendmp/backend/material:/material
|
|
# - opendmp/backend/Semantics.json:/Semantics.json
|
|
# - storage/backend:/storage
|
|
# - logs/backend:/logs
|
|
# networks:
|
|
# - opendmp-proxy-network
|
|
# - opendmp-backend-network
|
|
# - opendmp-plugins-network
|
|
# - opendmp-gotenberg-shared-network
|
|
# - opendmp-elastic-shared-network
|
|
# - opendmp-keycloak-shared-network
|
|
# - opendmp-postgres-shared-network
|
|
# - opendmp-rabbitmq-shared-network
|
|
|
|
# opendmp.frontend:
|
|
# restart: unless-stopped
|
|
# cpus: 1
|
|
# mem_limit: 2048m
|
|
# ports:
|
|
# - "8080"
|
|
# volumes:
|
|
# - opendmp/webapp/config.json:/usr/share/nginx/html/assets/config/config.json
|
|
# - opendmp/webapp/nginx.conf:/etc/nginx/nginx.conf
|
|
# - opendmp/webapp/WebAppNginx.conf:/etc/nginx/conf.d/default.conf
|
|
# networks:
|
|
# - opendmp-proxy-network
|
|
|
|
# opendmp.notification:
|
|
# cpus: 1
|
|
# mem_limit: 1024m
|
|
# restart: unless-stopped
|
|
# ports:
|
|
# - "8080"
|
|
# environment:
|
|
# - PROFILE=${PROFILE}
|
|
# volumes:
|
|
# - opendmp/notification-api/config:/config
|
|
# - opendmp/notification-api/messages:/messages
|
|
# - opendmp/notification-api/notification_templates:/notification_templates
|
|
# - logs/notification-api:/logs
|
|
# networks:
|
|
# - opendmp-proxy-network
|
|
# - opendmp-backend-network
|
|
# - opendmp-plugins-network
|
|
# - opendmp-rabbitmq-shared-network
|
|
# - opendmp-keycloak-shared-network
|
|
# - opendmp-postgres-shared-network
|
|
|
|
# opendmp.annotation:
|
|
# cpus: 1
|
|
# mem_limit: 1024m
|
|
# restart: unless-stopped
|
|
# ports:
|
|
# - "8080"
|
|
# environment:
|
|
# - PROFILE=${PROFILE}
|
|
# volumes:
|
|
# - opendmp/annotation-api/config:/config
|
|
# - opendmp/annotation-api/messages:/messages
|
|
# - logs/annotation-api:/logs
|
|
# networks:
|
|
# - opendmp-proxy-network
|
|
# - opendmp-backend-network
|
|
# - opendmp-plugins-network
|
|
# - opendmp-rabbitmq-shared-network
|
|
# - opendmp-keycloak-shared-network
|
|
# - opendmp-postgres-shared-network
|
|
|
|
# ############################## FILE-TRANSFORMER #################################
|
|
|
|
# opendmp.file.transformer.docx:
|
|
# restart: unless-stopped
|
|
# cpus: 1
|
|
# mem_limit: 1024m
|
|
# expose:
|
|
# - "8080"
|
|
# environment:
|
|
# - SERVER_PORT=${SERVER_PORT}
|
|
# - PROFILE=${PROFILE}
|
|
# volumes:
|
|
# - opendmp/file-transformer-docx/config:/config
|
|
# - logs/file-transformer-docx:/logs
|
|
# - storage/file-transformer-docx:/storage
|
|
# networks:
|
|
# - opendmp-backend-network
|
|
# - opendmp-plugins-network
|
|
# - opendmp-gotenberg-shared-network
|
|
|
|
# opendmp.file.transformer.rdajson:
|
|
# restart: unless-stopped
|
|
# cpus: 1
|
|
# mem_limit: 1024m
|
|
# expose:
|
|
# - "8080"
|
|
# environment:
|
|
# - SERVER_PORT=${SERVER_PORT}
|
|
# - PROFILE=${PROFILE}
|
|
# volumes:
|
|
# - opendmp/file-transformer-rda-json/config:/config
|
|
# - opendmp/file-transformer-rda-json/internal:/internal
|
|
# - logs/file-transformer-rda-json:/logs
|
|
# - storage/file-transformer-rda-json:/storage
|
|
# networks:
|
|
# - opendmp-backend-network
|
|
# - opendmp-plugins-network
|
|
|
|
############################## ZENODO #######################################
|
|
# opendmp.zenodo:
|
|
# restart: unless-stopped
|
|
# cpus: 1
|
|
# mem_limit: 1024m
|
|
# expose:
|
|
# - "8080"
|
|
# environment:
|
|
# - PROFILE=${PROFILE}
|
|
# volumes:
|
|
# - /opendmp/zenodo/config:/config
|
|
# - /opendmp/zenodo/zenodo.jpg:/zenodo.jpg
|
|
# - /logs/zenodo:/logs
|
|
# networks:
|
|
# - opendmp-plugins-network
|
|
# - opendmp-keycloak-shared-network
|
|
|
|
############################## POSTGRES 16 #################################
|
|
|
|
opendmp.postgres:
|
|
restart: unless-stopped
|
|
mem_limit: 2048M
|
|
ports:
|
|
# - "127.0.0.1:${POSTGRES_PORT}:5432" # If you want to make it accessible locally only
|
|
- "${POSTGRES_PORT}:5432"
|
|
env_file:
|
|
- ./postgres/postgres.env
|
|
volumes:
|
|
- ./storage/postgres/data:/var/lib/postgresql/data
|
|
- ./postgres/opendmp_init.sql:/docker-entrypoint-initdb.d/opendmp_init.sql
|
|
- ./postgres/user_init.sql:/docker-entrypoint-initdb.d/user_init.sql
|
|
networks:
|
|
- opendmp-postgres-shared-network
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "sh -c 'pg_isready -U opendmp-psql -d opendmp'"]
|
|
interval: 15s
|
|
timeout: 60s
|
|
retries: 5
|
|
|
|
|
|
################################# ELK #################################################
|
|
# elk.setup:
|
|
# profiles:
|
|
# - setup
|
|
# build:
|
|
# context: ./elk/setup/
|
|
# args:
|
|
# ELASTIC_VERSION: ${ELASTIC_VERSION}
|
|
# init: true
|
|
# env_file:
|
|
# - elk/elk.env
|
|
# volumes:
|
|
# - ./setup/entrypoint.sh:/entrypoint.sh:ro,Z
|
|
# - ./setup/lib.sh:/lib.sh:ro,Z
|
|
# - ./setup/roles:/roles:ro,Z
|
|
# environment:
|
|
# ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-}
|
|
# LOGSTASH_INTERNAL_PASSWORD: ${LOGSTASH_INTERNAL_PASSWORD:-}
|
|
# KIBANA_SYSTEM_PASSWORD: ${KIBANA_SYSTEM_PASSWORD:-}
|
|
# METRICBEAT_INTERNAL_PASSWORD: ${METRICBEAT_INTERNAL_PASSWORD:-}
|
|
# FILEBEAT_INTERNAL_PASSWORD: ${FILEBEAT_INTERNAL_PASSWORD:-}
|
|
# HEARTBEAT_INTERNAL_PASSWORD: ${HEARTBEAT_INTERNAL_PASSWORD:-}
|
|
# MONITORING_INTERNAL_PASSWORD: ${MONITORING_INTERNAL_PASSWORD:-}
|
|
# BEATS_SYSTEM_PASSWORD: ${BEATS_SYSTEM_PASSWORD:-}
|
|
# networks:
|
|
# - opendmp-elastic-network
|
|
|
|
# opendmp.elasticsearch:
|
|
# restart: unless-stopped
|
|
# cpus: 2
|
|
# mem_limit: 1024m
|
|
# init: true
|
|
# env_file:
|
|
# - elk/elk.env
|
|
# environment:
|
|
# ES_JAVA_OPTS: -Xmx512m -Xms512m
|
|
# node.name: elasticsearch
|
|
# ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-}
|
|
# ulimits:
|
|
# nproc: 65535
|
|
# memlock:
|
|
# soft: -1
|
|
# hard: -1
|
|
# volumes:
|
|
# - ./elk/config-elk/elasticsearch/config/log4j2.properties:/usr/share/elasticsearch/config/log4j2.properties:ro
|
|
# - ./elk/config-elk/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
|
|
# - ./elk/data-elk/elasticsearch-data:/usr/share/elasticsearch/data
|
|
# - ./elk/data-elk/elasticsearch-log:/usr/share/elasticsearch/logs
|
|
# expose:
|
|
# - "9200"
|
|
# - "9300"
|
|
# networks:
|
|
# - opendmp-elastic-network
|
|
# - opendmp-elastic-shared-network
|
|
# healthcheck:
|
|
# test: curl --cacert /usr/share/elasticsearch/config/certificates/ca/ca.crt -s https://localhost:9200 >/dev/null; if [[ $$? == 52 ]]; then echo 0; else echo 1; fi
|
|
# interval: 30s
|
|
# timeout: 10s
|
|
# retries: 5
|
|
|
|
# opendmp.kibana:
|
|
# restart: unless-stopped
|
|
# cpus: 2
|
|
# mem_limit: 1024m
|
|
# ulimits:
|
|
# memlock:
|
|
# soft: -1
|
|
# hard: -1
|
|
# environment:
|
|
# - xpack.license.self_generated.type=basic
|
|
# - xpack.security.enabled=true
|
|
# volumes:
|
|
# - ./elk/config-elk/kibana/config:/usr/share/kibana/config:ro
|
|
# expose:
|
|
# - "5601"
|
|
# networks:
|
|
# - opendmp-elastic-network
|
|
|
|
# logstash:
|
|
# build:
|
|
# context: logstash/
|
|
# args:
|
|
# ELASTIC_VERSION: ${ELASTIC_VERSION}
|
|
# volumes:
|
|
# - ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro,Z
|
|
# - ./logstash/pipeline:/usr/share/logstash/pipeline:ro,Z
|
|
# ports:
|
|
# - 5044:5044
|
|
# - 50000:50000/tcp
|
|
# - 50000:50000/udp
|
|
# - 9600:9600
|
|
# environment:
|
|
# LS_JAVA_OPTS: -Xms256m -Xmx256m
|
|
# LOGSTASH_INTERNAL_PASSWORD: ${LOGSTASH_INTERNAL_PASSWORD:-}
|
|
# networks:
|
|
# - elk
|
|
# depends_on:
|
|
# - elasticsearch
|
|
# restart: unless-stopped
|
|
# # - /elk/data-elk/logstash-log:/usr/share/logstash/logs
|
|
|
|
# opendmp.filebeat:
|
|
# restart: unless-stopped
|
|
# cpus: 1
|
|
# mem_limit: 1024m
|
|
# ulimits:
|
|
# memlock:
|
|
# soft: -1
|
|
# hard: -1
|
|
# volumes:
|
|
# - /var/run/docker.sock:/host_docker/docker.sock
|
|
# - /var/lib/docker:/host_docker/var/lib/docker
|
|
# - ./filebeat.yml:/usr/share/filebeat/filebeat.yml
|
|
# command: ["--strict.perms=false"]
|
|
# ulimits:
|
|
# memlock:
|
|
# soft: -1
|
|
# hard: -1
|
|
# stdin_open: true
|
|
# tty: true
|
|
# network_mode: bridge
|
|
# deploy:
|
|
# mode: global
|
|
# logging:
|
|
# driver: "json-file"
|
|
# options:
|
|
# max-size: "10m"
|
|
# max-file: "50"
|
|
|
|
|
|
############################## KEYCLOAK ###############################################
|
|
opendmp.keycloak:
|
|
restart: unless-stopped
|
|
command: ["start-dev", "--log=console,file", "--log-file=/tmp/logs/keycloak.log", "--import-realm"]
|
|
cpus: 1
|
|
mem_limit: 1024M
|
|
env_file:
|
|
- keycloak/keycloak.env
|
|
environment:
|
|
- JAVA_OPTS_APPEND="-Djava.net.preferIPv4Stack=true"
|
|
volumes:
|
|
- ./logs/keycloak:/tmp/logs
|
|
- ./keycloak/imports/opendmp-realm.json:/opt/keycloak/data/import/opendmp-realm.json
|
|
expose:
|
|
- "8080"
|
|
networks:
|
|
- opendmp-proxy-network
|
|
- opendmp-postgres-shared-network
|
|
- opendmp-keycloak-shared-network
|
|
|
|
############################## RABBITMQ ###############################################
|
|
opendmp.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:
|
|
- rabbitmq/rabbitmq.env
|
|
volumes:
|
|
- /rabbitmq/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf:ro
|
|
networks:
|
|
- opendmp-proxy-network
|
|
- opendmp-rabbitmq-shared-network
|
|
|
|
############################## GOTENBERG ##############################################
|
|
opendmp.gotenberg:
|
|
mem_limit: 2048m
|
|
restart: unless-stopped
|
|
expose:
|
|
- "3000"
|
|
hostname: gotenberg
|
|
env_file:
|
|
- gotenberg/gotenberg.env
|
|
networks:
|
|
- opendmp-gotenberg-shared-network
|
|
|
|
networks:
|
|
opendmp-elastic-network:
|
|
name: opendmp-elastic-network
|
|
opendmp-proxy-network:
|
|
name: opendmp-proxy-network
|
|
opendmp-backend-network:
|
|
name: opendmp-backend-network
|
|
opendmp-plugins-network:
|
|
name: opendmp-plugins-network
|
|
opendmp-keycloak-shared-network:
|
|
external: true
|
|
name: opendmp-keycloak-shared-network
|
|
opendmp-gotenberg-shared-network:
|
|
external: true
|
|
name: opendmp-gotenberg-shared-network
|
|
opendmp-rabbitmq-shared-network:
|
|
external: true
|
|
name: opendmp-rabbitmq-shared-network
|
|
opendmp-elastic-shared-network:
|
|
external: true
|
|
name: opendmp-elastic-shared-network
|
|
opendmp-postgres-shared-network:
|
|
external: true
|
|
name: opendmp-postgres-shared-network
|