You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hetzner-ansible/templates/connect-compact/docker-compose.yml.j2

136 lines
5.2 KiB
Django/Jinja

version: '3.7'
networks:
back-tier:
external: True
front-tier:
external: True
volumes:
{{ connect_id }}-postgres-data: {}
{{ elasticsearch_id }}-data: {}
services:
{{ connect_id }}:
image: "{{ connect_image_name }}:{{ connect_version }}"
container_name: "{{ connect_id }}"
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.routers.{{ connect_id }}.service={{ connect_id }}"
- "traefik.http.routers.{{ connect_id }}.rule=Host(`{{ connect_id }}.{{ domain }}`)"
- "traefik.http.routers.{{ connect_id }}.entrypoints=websecure"
- "traefik.http.routers.{{ connect_id }}.tls=true"
- "traefik.http.routers.{{ connect_id }}.tls.certresolver=letsencrypt-http"
- "traefik.http.services.{{ connect_id }}.loadbalancer.server.port=8080"
{% if
connect_external_domain is defined
%}
- "traefik.http.routers.{{ connect_id }}-extern.service={{ connect_id }}-extern"
- "traefik.http.routers.{{ connect_id }}-extern.rule=Host(`{{ connect_external_domain }}.{{ domain }}`)"
- "traefik.http.routers.{{ connect_id }}-extern.entrypoints=websecure"
- "traefik.http.routers.{{ connect_id }}-extern.tls=true"
- "traefik.http.routers.{{ connect_id }}-extern.tls.certresolver=letsencrypt-http"
- "traefik.http.services.{{ connect_id }}-extern.loadbalancer.server.port=8080"
{% endif %}
environment:
NAME: "MPM eXecution 2.0"
TENANT_ID: "connect"
ADMIN_LOGIN: "{{ connect_admin_username }}"
ADMIN_PASSWORD: "{{ connect_admin_password }}"
DATASOURCE_URL: "jdbc:postgresql://{{ connect_id }}-postgres:5432/connect-postgres"
DATASOURCE_USERNAME: "{{ connect_postgres_username }}"
DATASOURCE_PASSWORD: "{{ connect_postgres_password }}"
MAIL_PROTOCOL: "smtp"
MAIL_HOST: "smtp.web.de"
MAIL_PORT: "587"
MAIL_USER: "smardigo.email@web.de"
MAIL_PASSWORD: "MUqzILYtspSYGmw0k34F"
MAIL_PROPERTIES_SIMULATION: "false"
MAIL_PROPERTIES_BASE_URL: "https://{{ connect_id }}.{{ domain }}"
MAIL_PROPERTIES_BASE_URL_EXTERN: "https://{{ connect_id }}.{{ domain }}"
MAIL_PROPERTIES_SENDER: "smardigo.email@web.de"
MAIL_PROPERTIES_SENDER_ALIAS: "noreply-connect"
MAIL_PROPERTIES_SMTP_AUTH: "true"
MAIL_PROPERTIES_SMTP_STARTTLS_ENABLE: "true"
MAIL_PROPERTIES_SMTP_STARTTLS_REQUIRED: "true"
AUTH_MODULE: "oidc"
OIDC_CLIENT_ID: "connect"
OIDC_CLIENT_SECRET: "connect"
OIDC_REGISTRATION_ID: "connect"
OIDC_ISSUER_URI: "https://{{ keycloak_external_domain }}.{{ domain }}/auth/realms/connect"
PASSWORD_CHANGE_URL: "https://{{ keycloak_external_domain }}.{{ domain }}/auth/realms/connect/account/password"
USER_MANAGEMENT_URL: "https://{{ keycloak_external_domain }}.{{ domain }}/auth/admin/connect/console"
IAM_MODULE: "embedded"
IAM_CLIENT_ENABLED: "false"
PROCESS_SEARCH_MODULE: "embedded"
ELASTIC_HOST: "{{ elasticsearch_id }}"
ELASTIC_PREFIX: "{{ connect_id }}"
ELASTIC_USERNAME: "{{ elasticsearch_username }}"
ELASTIC_PASSWORD: "{{ elasticsearch_password }}"
ELASTIC_SEARCH_INDEX: "search"
ELASTIC_MESSAGE_INDEX: "message"
ELASTIC_ANALYSIS_INDEX: "analysis"
SPRING_PROFILES_INCLUDE: "linked-applications, swagger, elastic"
PROCESS_SEARCH_MODULE: "external"
SPRINGDOC_SERVER_URL: "https://{{ connect_id }}.{{ domain }}"
SMA_CORS_ORIGINS: "https://{{ connect_id }}.{{ domain }}"
SMA_CORS_ALLOWED_METHODS: "*"
SMA_CORS_ALLOWED_HEADERS: "*"
SMA_CORS_PATH_PATTERN: "/**"
SMA_LANGUAGE_CODE: "en"
SMA_JWT_ENABLED: "True"
SMA_JWT_SECRET: "{{ sma_jwt_secret }}"
RESUBMISSION_ENABLED: "true"
ELEMENT_TEMPLATE_ENABLED: "true"
CONFIG_DELETE_SCOPE_ENABLED: "true"
EXTERNAL_TASK_SCRIPT_WORKER_ENABLED: "false"
CONFIG_DELETE_SCOPE_ENABLED: "true"
CONFIG_LOCAL_IMPORT_ENABLED: "true"
SMA_WORKFLOW_HEATMAP_ENABLED: "true"
LOG_LEVEL_CAMUNDA: "OFF"
LOG_LEVEL_JASYPT: "ERROR"
LOG_LEVEL_MESSAGE_QUEUE: "INFO"
LOG_LEVEL_DOCUMENT_INDEX: "INFO"
LOG_LEVEL_WORKFLOW_INDEX: "INFO"
LOG_LEVEL_WORKFLOW_ANALYSIS: "INFO"
volumes:
- "./config/application-linked-applications.yml:/config/application-linked-applications.yml"
networks:
- "back-tier"
- "front-tier"
{{ connect_id }}-postgres:
image: "postgres:12"
container_name: "{{ connect_id }}-postgres"
restart: always
environment:
POSTGRES_DB: "connect-postgres"
POSTGRES_USER: "{{ connect_postgres_username }}"
POSTGRES_PASSWORD: "{{ connect_postgres_password }}"
volumes:
- "{{ connect_id }}-postgres-data:/var/lib/postgresql/data"
networks:
- "back-tier"
{{ elasticsearch_id }}:
image: "docker.elastic.co/elasticsearch/elasticsearch:7.16.3"
container_name: "{{ elasticsearch_id }}"
restart: always
environment:
ES_JAVA_OPTS: "-Xmx2G -Xms2G"
ELASTIC_PASSWORD: "{{ elasticsearch_password }}"
volumes:
- "./config/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro"
- "{{ elasticsearch_id }}-data:/usr/share/elasticsearch/data"
networks:
- "back-tier"