Files
computer-playbook/roles/web-app-stalwart/templates/compose.yml.j2

62 lines
2.8 KiB
Django/Jinja

{% 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') }}