{% include 'roles/sys-svc-compose/templates/base.yml.j2' %} {% set service_name = ESPOCRM_SERVICE %} {{ service_name }}: {{ lookup('template', 'roles/sys-svc-container/templates/build.yml.j2') | indent(4) }} args: ESPOCRM_IMAGE: "{{ ESPOCRM_IMAGE }}" ESPOCRM_VERSION: "{{ ESPOCRM_VERSION }}" ESPOCRM_SCRIPT_SEED_HOST_REL: "{{ ESPOCRM_SCRIPT_SEED_HOST_REL }}" ESPOCRM_SCRIPT_SEED_DOCKER: "{{ ESPOCRM_SCRIPT_SEED_DOCKER }}" ESPOCRM_SCRIPT_SIDECAR_HOST_REL: "{{ ESPOCRM_SCRIPT_SIDECAR_HOST_REL }}" ESPOCRM_SCRIPT_SIDECAR_DOCKER: "{{ ESPOCRM_SCRIPT_SIDECAR_DOCKER }}" ESPOCRM_ENTRYPOINT_SCRIPT_HOST_REL: "{{ ESPOCRM_ENTRYPOINT_SCRIPT_HOST_REL }}" ESPOCRM_ENTRYPOINT_SCRIPT_DOCKER: "{{ ESPOCRM_ENTRYPOINT_SCRIPT_DOCKER }}" ESPOCRM_ENTRYPOINT_SCRIPT_ORIGINAL: "{{ ESPOCRM_ENTRYPOINT_SCRIPT_ORIGINAL }}" {{ lookup('compose_only', 'container_name', ESPOCRM_CONTAINER) }} {{ lookup('container_image', application_id, 'espocrm') }} init: true stop_signal: SIGTERM stop_grace_period: 30s {% include 'roles/sys-svc-container/templates/base.yml.j2' %} {{ lookup('container_extra_hosts') | indent(4) }} {{ lookup('container_healthcheck', service_name) | indent(4) }} {{ lookup('container_ports', ['espocrm', 'http', DOCKER_BIND_HOST]) | indent(4) }} {{ lookup('container_depends_on', application_id) | indent(4) }} {{ lookup('container_networks') | indent(4) }} {{ lookup('container_volumes', service_name) | indent(4) }} {% set service_name = 'daemon' %} {{ service_name }}: {{ lookup('container_image', application_id, 'daemon', version=ESPOCRM_VERSION) }} {{ lookup('compose_only', 'container_name', ESPOCRM_CONTAINER ~ '_' ~ service_name) }} {{ lookup('compose_only', 'pull_policy', 'never') }} init: true stop_signal: SIGTERM stop_grace_period: 30s {% include 'roles/sys-svc-container/templates/base.yml.j2' %} entrypoint: ["{{ ESPOCRM_ENTRYPOINT_SCRIPT_DOCKER }}", "--wait-ready", "{{ ESPOCRM_SCRIPT_SIDECAR_DOCKER }}", "daemon.php"] {{ lookup('container_networks') | indent(4) }} {{ lookup('container_volumes', service_name) | indent(4) }} {{ lookup('container_depends_on', application_id, extra={ ESPOCRM_SERVICE: {'condition': 'service_healthy'}, }) | indent(4) }} {{ lookup('container_healthcheck', service_name) | indent(4) }} {% set service_name = 'websocket' %} {{ service_name }}: {{ lookup('container_image', application_id, 'websocket', version=ESPOCRM_VERSION) }} {{ lookup('compose_only', 'container_name', ESPOCRM_CONTAINER ~ '_' ~ service_name) }} {{ lookup('compose_only', 'pull_policy', 'never') }} init: true stop_signal: SIGTERM stop_grace_period: 30s {% include 'roles/sys-svc-container/templates/base.yml.j2' %} environment: - ESPOCRM_CONFIG_USE_WEB_SOCKET=true - ESPOCRM_CONFIG_WEB_SOCKET_URL={{ lookup('tls', application_id, 'protocols.websocket') }}://{{ lookup('domain',application_id) }}/ws - ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBSCRIBER_DSN=tcp://*:7777 - ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN=tcp://websocket:7777 entrypoint: ["{{ ESPOCRM_ENTRYPOINT_SCRIPT_DOCKER }}", "--wait-ready", "{{ ESPOCRM_SCRIPT_SIDECAR_DOCKER }}", "websocket.php"] {{ lookup('container_networks') | indent(4) }} {{ lookup('container_volumes', service_name) | indent(4) }} {{ lookup('container_ports', ['espocrm', 'websocket', DOCKER_BIND_HOST]) | indent(4) }} {{ lookup('container_depends_on', application_id, extra={ ESPOCRM_SERVICE: {'condition': 'service_healthy'}, }) | indent(4) }} {{ lookup('compose_volumes') }} {{ lookup('compose_networks') }}