Finish Postgres initialization and deployment

This commit is contained in:
Alexandros Mandilaras 2024-04-25 14:38:36 +03:00
parent 21de37e980
commit 9fd28bbbf1
8 changed files with 347 additions and 328 deletions

View File

@ -1,7 +1,7 @@
###################### GENERAL #########################
#User that is used to deploy the containers
DEPLOY_USER=root
DEPLOY_USER=1000
DEPLOY_GROUP=1000
#version selections
PROXY_TAG=mainline-alpine
MAIN_APP_TAG=2.1.3
@ -10,10 +10,11 @@ ANNOTATION_APP_TAG=2.1.3
DOCX_APP_TAG=0.0.8
JSON_APP_TAG=0.0.6
ZENODO_APP_TAG=2.0.4
POSTGRES_TAG=16-alpine
ELK_VERSION=8.13.12
KEYCLOAK_TAG=24.0.2
RABBITMQ_TAG=3.13-management
GOTENBERG_TAG=8.4.0
POSTGRES_TAG=16-alpine
#Application configuration
DOCKER_REGISTRY=crepo.cite.gr/

View File

@ -1,153 +1,151 @@
version: "2.4"
services:
############################## PROXY ########################################
opendmp.proxy:
user: ${DEPLOY_USER}:${DEPLOY_USER}
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
- /proxy/nginx-selfsigned.crt:/certifcates/cert.crt
- /proxy/nginx-selfsigned.key:/certifcates/key.key
- /logs/proxy:/tmp/logs
networks:
- opendmp-proxy-network
# opendmp.proxy:
# user: ${DEPLOY_USER}:${DEPLOY_GROUP}
# 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
# - proxy/nginx-selfsigned.crt:/certifcates/cert.crt
# - proxy/nginx-selfsigned.key:/certifcates/key.key
# - logs/proxy:/tmp/logs
# networks:
# - opendmp-proxy-network
############################## OPENDMP APP #################################
opendmp.backend:
user: ${DEPLOY_USER}:${DEPLOY_USER}
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.backend:
# user: ${DEPLOY_USER}:${DEPLOY_GROUP}
# 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.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:
user: ${DEPLOY_USER}:${DEPLOY_USER}
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.notification:
# user: ${DEPLOY_USER}:${DEPLOY_GROUP}
# 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:
user: ${DEPLOY_USER}:${DEPLOY_USER}
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
# opendmp.annotation:
# user: ${DEPLOY_USER}:${DEPLOY_GROUP}
# 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 #################################
# ############################## FILE-TRANSFORMER #################################
opendmp.file.transformer.docx:
user: ${DEPLOY_USER}:${DEPLOY_USER}
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.docx:
# user: ${DEPLOY_USER}:${DEPLOY_GROUP}
# 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:
user: ${DEPLOY_USER}:${DEPLOY_USER}
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
# opendmp.file.transformer.rdajson:
# user: ${DEPLOY_USER}:${DEPLOY_GROUP}
# 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:
# user: ${DEPLOY_USER}:${DEPLOY_USER}
# user: ${DEPLOY_USER}:${DEPLOY_GROUP}
# restart: unless-stopped
# cpus: 1
# mem_limit: 1024m
@ -166,78 +164,76 @@ services:
############################## POSTGRES 16 #################################
opendmp.postgres:
user: ${DEPLOY_USER}:${DEPLOY_USER}
user: ${DEPLOY_USER}:${DEPLOY_GROUP}
restart: unless-stopped
mem_limit: 2048M
ports:
# - "127.0.0.1:${POSTGRES_PORT}:5432"
# - "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:
- /postgres/opendmp_init.sql:/docker-entrypoint-initdb.d/opendmp_init.sql
- /postgres/keycloak_init.sql:/docker-entrypoint-initdb.d/keycloak_init.sql
- /storage/postgres/data:/var/lib/postgresql/data
- ./storage/postgres/data:/var/lib/postgresql/data
networks:
- opendmp-keycloak-shared-network
- opendmp-postgres-shared-network
################################# ELK #################################################
opendmp.elasticsearch:
user: ${DEPLOY_USER}:${DEPLOY_USER}
group_add:
- 0
restart: unless-stopped
cpus: 2
mem_limit: 1024m
env_file:
- /elk/config-elk/elasticsearch/elastic.env
environment:
- "ES_JAVA_OPTS=-Xmx512m -Xms512m"
ulimits:
nproc: 65535
memlock:
soft: -1
hard: -1
volumes:
- /elk/config-elk/elasticsearch/certificates:/usr/share/elasticsearch/config/certificates
- /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.elasticsearch:
# user: ${DEPLOY_USER}:${DEPLOY_GROUP}
# group_add:
# - 0
# restart: unless-stopped
# cpus: 2
# mem_limit: 1024m
# env_file:
# - elk/config-elk/elasticsearch/elastic.env
# environment:
# - "ES_JAVA_OPTS=-Xmx512m -Xms512m"
# ulimits:
# nproc: 65535
# memlock:
# soft: -1
# hard: -1
# volumes:
# - elk/config-elk/elasticsearch/certificates:/usr/share/elasticsearch/config/certificates
# - 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.logstash:
# volumes:
# - /elk/data-elk/logstash-log:/usr/share/logstash/logs
# # opendmp.logstash:
# # volumes:
# # - /elk/data-elk/logstash-log:/usr/share/logstash/logs
opendmp.kibana:
user: ${DEPLOY_USER}:${DEPLOY_USER}
restart: unless-stopped
cpus: 2
mem_limit: 1024m
environment:
- xpack.license.self_generated.type=basic
- xpack.security.enabled=true
volumes:
- /elk/config-elk/kibana/certificates:/usr/share/kibana/certificates
- /elk/config-elk/kibana/certificates/ca:/usr/share/kibana/certificate_authorities
- /elk/config-elk/kibana/config:/usr/share/kibana/config:ro
expose:
- "5601"
networks:
- opendmp-elastic-network
# opendmp.kibana:
# user: ${DEPLOY_USER}:${DEPLOY_GROUP}
# restart: unless-stopped
# cpus: 2
# mem_limit: 1024m
# environment:
# - xpack.license.self_generated.type=basic
# - xpack.security.enabled=true
# volumes:
# - elk/config-elk/kibana/certificates:/usr/share/kibana/certificates
# - elk/config-elk/kibana/certificates/ca:/usr/share/kibana/certificate_authorities
# - elk/config-elk/kibana/config:/usr/share/kibana/config:ro
# expose:
# - "5601"
# networks:
# - opendmp-elastic-network
# opendmp.filebeat:
# # opendmp.filebeat:
############################## KEYCLOAK ###############################################
@ -249,66 +245,72 @@ services:
security_opt:
- seccomp:unconfined
env_file:
- /keycloak/keycloak.env
- 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
- /keycloak/certs/keycloak-selfsigned.crt:/tmp/keycloak-selfsigned.crt:ro
- /keycloak/certs/keycloak-selfsigned.key:/tmp/keycloak-selfsigned.key:ro
- logs/keycloak:/tmp/logs
- keycloak/imports/opendmp-realm.json:/opt/keycloak/data/import/opendmp-realm.json
- keycloak/certs/keycloak-selfsigned.crt:/tmp/keycloak-selfsigned.crt:ro
- keycloak/certs/keycloak-selfsigned.key:/tmp/keycloak-selfsigned.key:ro
expose:
- "8443"
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
expose:
- "15672"
- "5672"
env_file:
- /rabbitmq/rabbitmq.env
# volumes:
# - /rabbitmq/rabbitmq.config:/etc/rabbitmq/rabbitmq.config:ro
networks:
- opendmp-proxy-network
- opendmp-rabbitmq-shared-network
# ############################## RABBITMQ ###############################################
# opendmp.rabbitmq:
# labels:
# NAME: "rabbitmq"
# cpus: 1
# mem_limit: 512m
# restart: unless-stopped
# expose:
# - "15672"
# - "5672"
# env_file:
# - rabbitmq/rabbitmq.env
# # volumes:
# # - /rabbitmq/rabbitmq.config:/etc/rabbitmq/rabbitmq.config:ro
# networks:
# - opendmp-proxy-network
# - opendmp-rabbitmq-shared-network
############################## GOTENBERG ##############################################
opendmo.gotenberg:
mem_limit: 2048m
restart: unless-stopped
expose:
- "3000"
hostname: gotenberg
env_file:
- /gotenberg/gotenberg.env
networks:
- opendmp-gotenberg-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:
name: opendmp-keycloak-shared-network
external: true
name: opendmp-keycloak-shared-network
opendmp-gotenberg-shared-network:
external:
name: opendmp-gotenberg-shared-network
external: true
name: opendmp-gotenberg-shared-network
opendmp-rabbitmq-shared-network:
external:
name: opendmp-rabbitmq-shared-network
external: true
name: opendmp-rabbitmq-shared-network
opendmp-elastic-shared-network:
external:
name: opendmp-elastic-shared-network
external: true
name: opendmp-elastic-shared-network
opendmp-postgres-shared-network:
external:
name: opendmp-postgres-shared-network
external: true
name: opendmp-postgres-shared-network

View File

@ -1,52 +1,50 @@
version: "2.4"
services:
############################## PROXY ########################################
opendmp.proxy:
container_name: opendmp.proxy
image: nginx:${PROXY_TAG}
# opendmp.proxy:
# container_name: opendmp.proxy
# image: nginx:${PROXY_TAG}
############################## OPENDMP APP #################################
# ############################## OPENDMP APP #################################
opendmp.frontend:
container_name: opendmp.frontend
image: ${DOCKER_REGISTRY}open-dmp-webapp:${MAIN_APP_TAG}
depends_on:
- opendmp.backend
- opendmp.notification
- opendmp.annotation
# opendmp.frontend:
# container_name: opendmp.frontend
# image: ${DOCKER_REGISTRY}open-dmp-webapp:${MAIN_APP_TAG}
# depends_on:
# - opendmp.backend
# - opendmp.notification
# - opendmp.annotation
opendmp.backend:
container_name: opendmp.backend
image: ${DOCKER_REGISTRY}open-dmp-api:${MAIN_APP_TAG}
depends_on:
- opendmp.postgres
# opendmp.backend:
# container_name: opendmp.backend
# image: ${DOCKER_REGISTRY}open-dmp-api:${MAIN_APP_TAG}
# depends_on:
# - opendmp.postgres
opendmp.notification:
container_name: opendmp.notification
image: ${DOCKER_REGISTRY}open-dmp-notification-api:${NOTIFICATION_APP_TAG}
depends_on:
- opendmp.postgres
# opendmp.notification:
# container_name: opendmp.notification
# image: ${DOCKER_REGISTRY}open-dmp-notification-api:${NOTIFICATION_APP_TAG}
# depends_on:
# - opendmp.postgres
opendmp.annotation:
container_name: opendmp.annotation
image: ${DOCKER_REGISTRY}open-dmp-annotation-api:${ANNOTATION_APP_TAG}
depends_on:
- opendmp.postgres
# opendmp.annotation:
# container_name: opendmp.annotation
# image: ${DOCKER_REGISTRY}open-dmp-annotation-api:${ANNOTATION_APP_TAG}
# depends_on:
# - opendmp.postgres
############################## FILE-TRANSFORMERS #######################################
# ############################## FILE-TRANSFORMERS #######################################
opendmp.file.transformer.docx:
container_name: opendmp.file.transformer.docx
image: ${DOCKER_REGISTRY}file-transformation-docx-api:${DOCX_APP_TAG}
depends_on:
- opendmp.backend
# opendmp.file.transformer.docx:
# container_name: opendmp.file.transformer.docx
# image: ${DOCKER_REGISTRY}file-transformation-docx-api:${DOCX_APP_TAG}
# depends_on:
# - opendmp.backend
opendmp.file.transformer.rdajson:
container_name: opendmp.file.transformer.rdajson
image: ${DOCKER_REGISTRY}file-transformation-rda-json-api:${JSON_APP_TAG}
depends_on:
- opendmp.backend
# opendmp.file.transformer.rdajson:
# container_name: opendmp.file.transformer.rdajson
# image: ${DOCKER_REGISTRY}file-transformation-rda-json-api:${JSON_APP_TAG}
# depends_on:
# - opendmp.backend
################################ ZENODO ###############################################
# opendmp.zenodo:
@ -59,57 +57,61 @@ services:
opendmp.postgres:
container_name: opendmp.postgres
image: postgres:${POSTGRES_TAG}
build:
context: ./postgres/
args:
POSTGRES_TAG: $POSTGRES_TAG
################################# ELK #################################################
opendmp.elasticsearch:
container_name: opendmp.elasticsearch
image: elasticsearch
build:
context: /elk/elasticsearch/
args:
ELK_VERSION: $ELK_VERSION
# opendmp.elasticsearch:
# container_name: opendmp.elasticsearch
# image: elasticsearch
# build:
# context: /elk/elasticsearch/
# args:
# ELK_VERSION: $ELK_VERSION
# opendmp.logstash:
# container_name: opendmp.logstash
# image: logstash
# build:
# context: /elk/logstash/
# args:
# ELK_VERSION: $ELK_VERSION
# depends_on:
# - opendmp.elasticsearch
# # opendmp.logstash:
# # container_name: opendmp.logstash
# # image: logstash
# # build:
# # context: /elk/logstash/
# # args:
# # ELK_VERSION: $ELK_VERSION
# # depends_on:
# # - opendmp.elasticsearch
opendmp.kibana:
container_name: opendmp.kibana
image: kibana
build:
context: /elk/kibana/
args:
ELK_VERSION: $ELK_VERSION
depends_on:
- opendmp.elasticsearch
# opendmp.kibana:
# container_name: opendmp.kibana
# image: kibana
# build:
# context: /elk/kibana/
# args:
# ELK_VERSION: $ELK_VERSION
# depends_on:
# - opendmp.elasticsearch
# opendmp.filebeat:
# container_name: opendmp.filebeat
# image: filebeat
# build:
# context: /elk/filebeat/
# args:
# ELK_VERSION: $ELK_VERSION
# depends_on:
# - opendmp.logstash
# # opendmp.filebeat:
# # container_name: opendmp.filebeat
# # image: filebeat
# # build:
# # context: /elk/filebeat/
# # args:
# # ELK_VERSION: $ELK_VERSION
# # depends_on:
# # - opendmp.logstash
############################## KEYCLOAK ###############################################
opendmp.keycloak:
container_name: opendmp.keycloak
image: quay.io/keycloak/keycloak:${KEYCLOAK_TAG}
############################## RABBITMQ ###############################################
opendmp.rabbitmq:
container_name: opendmp.rabbitmq
image: rabbitmq:${RABBITMQ_TAG}
# ############################## RABBITMQ ###############################################
# opendmp.rabbitmq:
# container_name: opendmp.rabbitmq
# image: rabbitmq:${RABBITMQ_TAG}
############################## GOTENBERG ##############################################
opendmp.gotenberg:
image: gotenberg/gotenberg:${GOTENBERG_TAG}
container_name: opendmp.gotenberg
# ############################## GOTENBERG ##############################################
# opendmp.gotenberg:
# image: gotenberg/gotenberg:${GOTENBERG_TAG}
# container_name: opendmp.gotenberg

View File

@ -0,0 +1,10 @@
ARG POSTGRES_TAG
ARG DEPLOY_USER
ARG DEPLOY_GROUP
FROM postgres:${POSTGRES_TAG}
COPY ./opendmp_init.sql /docker-entrypoint-initdb.d/
COPY ./keycloak_init.sql /docker-entrypoint-initdb.d/
COPY ./user_init.sql /docker-entrypoint-initdb.d/
ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE 5432
CMD ["postgres"]

Binary file not shown.

View File

@ -1,4 +1,4 @@
#################### POSTGRES ########################
#POSTGRES_DB=keycloak
POSTGRES_USER=admin
POSTGRES_USER=postgres
POSTGRES_PASSWORD=changeme
PGDATA=/var/lib/postgresql/data/

View File

@ -0,0 +1,4 @@
CREATE USER keycloak_psql WITH PASSWORD 'keycloak-admin';
ALTER DATABASE keycloak OWNER TO keycloak_psql;
CREATE USER opendmp_psql WITH PASSWORD 'opendmp-admin';
ALTER DATABASE "opendmp-test" OWNER TO opendmp_psql;