{% include 'roles/sys-svc-compose/templates/base.yml.j2' %} {% set service_name = 'stalwart' %} {{ service_name }}: {{ lookup('compose_only', 'container_name', STALWART_CONTAINER) }} {{ lookup('container_image', application_id, service_name) }} hostname: {{ container_hostname }} {% include 'roles/sys-svc-container/templates/base.yml.j2' %} {{ lookup('container_extra_hosts') | indent(4) }} {% if STALWART_ACTIVE_PROVIDER | bool %} {{ lookup('container_ports', ['stalwart', 'http', DOCKER_BIND_HOST], ['stalwart', 'smtp', STALWART_IP4_PUBLIC], ['stalwart', 'smtps', STALWART_IP4_PUBLIC], ['stalwart', 'pop3s', STALWART_IP4_PUBLIC], ['stalwart', 'imaps', STALWART_IP4_PUBLIC], ['stalwart', 'sieve', STALWART_IP4_PUBLIC]) | indent(4) }} {% else %} {{ lookup('container_ports', ['stalwart', 'http', DOCKER_BIND_HOST]) | indent(4) }} {% endif %} environment: STALWART_RECOVERY_ADMIN: "{{ STALWART_ADMIN_USER }}:{{ STALWART_ADMIN_PASSWORD }}" {{ lookup('container_volumes', service_name) | indent(4) }} {{ lookup('container_depends_on', application_id) | indent(4) }} {{ lookup('container_networks') | indent(4) }} {% set service_name = 'webmail' %} {{ service_name }}: {{ lookup('compose_only', 'container_name', STALWART_CONTAINER ~ '_webmail') }} {{ lookup('container_image', application_id, service_name) }} {% 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', ['webmail', 'http', DOCKER_BIND_HOST]) | indent(4) }} environment: ROUNDCUBEMAIL_DEFAULT_HOST: "ssl://stalwart" ROUNDCUBEMAIL_DEFAULT_PORT: "993" ROUNDCUBEMAIL_SMTP_SERVER: "ssl://stalwart" ROUNDCUBEMAIL_SMTP_PORT: "465" ROUNDCUBEMAIL_DB_TYPE: "sqlite" {% if STALWART_SSO_ENABLED | bool %} ROUNDCUBEMAIL_OAUTH_CLIENT_SECRET: "{{ OIDC.CLIENT.SECRET }}" {% endif %} {{ lookup('container_volumes', service_name) | indent(4) }} {{ lookup('depends_on', ['stalwart']) }} {{ lookup('container_networks') | indent(4) }} {% if STALWART_ANTIVIRUS_ENABLED | bool %} {% set service_name = 'clamav' %} {{ service_name }}: {{ lookup('compose_only', 'container_name', STALWART_CONTAINER ~ '_clamav') }} {{ lookup('container_image', application_id, service_name) }} {% include 'roles/sys-svc-container/templates/base.yml.j2' %} environment: CLAMAV_NO_MILTERD: "false" {{ lookup('container_volumes', service_name) | indent(4) }} {{ lookup('container_networks') | indent(4) }} {% endif %} {{ lookup('compose_volumes') }} {{ lookup('compose_networks') }}