{% include 'roles/sys-svc-compose/templates/base.yml.j2' %} {% set MAGENTO_PHP_READY_GATE = "until nc -z " ~ MAGENTO_PHP_HOST ~ " " ~ MAGENTO_PHP_PORT ~ " 2>/dev/null; do sleep 2; done;" %} {% set service_name = 'nginx' %} {{ service_name }}: {% include 'roles/sys-svc-container/templates/base.yml.j2' %} {{ lookup('container_image', application_id, 'nginx') }} {{ lookup('compose_only', 'container_name', MAGENTO_NGINX_CONTAINER) }} command: ["sh", "-c", "{{ MAGENTO_PHP_READY_GATE }} exec nginx -g 'daemon off;'"] {{ lookup('depends_on', ['php', 'search']) }} {{ lookup('container_volumes', service_name) | indent(4) }} {{ lookup('container_ports', ['magento', 'http', DOCKER_BIND_HOST]) | indent(4) }} healthcheck: test: ["CMD-SHELL", "nginx -t >/dev/null 2>&1 && nc -z {{ MAGENTO_PHP_HOST }} {{ MAGENTO_PHP_PORT }}"] interval: 2m timeout: 5s retries: 5 start_period: 10m start_interval: 5s {{ lookup('container_extra_hosts') | indent(4) }} {{ lookup('container_networks') | indent(4) }} {% set service_name = 'php' %} {{ service_name }}: {% include 'roles/sys-svc-container/templates/base.yml.j2' %} {{ lookup('container_image', application_id, 'php') }} {{ lookup('compose_only', 'container_name', MAGENTO_PHP_CONTAINER) }} {{ lookup('container_volumes', service_name) | indent(4) }} {{ lookup('container_depends_on', application_id, extra={ 'search': {'condition': 'service_started'}, }) | indent(4) }} {{ lookup('container_extra_hosts') | indent(4) }} {{ lookup('container_networks') | indent(4) }} {% set service_name = 'search' %} {{ service_name }}: {{ lookup('container_image', application_id, 'search') }} {{ lookup('compose_only', 'container_name', MAGENTO_SEARCH_CONTAINER) }} {% include 'roles/sys-svc-container/templates/base.yml.j2' %} environment: - discovery.type=single-node - plugins.security.disabled=true - OPENSEARCH_JAVA_OPTS=-Xms{{ MAGENTO_SEARCH_HEAP_MB }}m -Xmx{{ MAGENTO_SEARCH_HEAP_MB }}m {{ lookup('container_healthcheck', service_name) | indent(4) }} {{ lookup('container_extra_hosts') | indent(4) }} {{ lookup('container_networks') | indent(4) }} {{ lookup('compose_volumes') }} {{ lookup('compose_networks') }}