119 lines
4.6 KiB
YAML
119 lines
4.6 KiB
YAML
---
|
|
- name: Activar container dovecot
|
|
docker_container:
|
|
name: "{{ dovecot_container }}"
|
|
state: started
|
|
restart_policy: unless-stopped
|
|
image: "{{ dovecot_image }}"
|
|
volumes:
|
|
- "{{ dovecot_volume_config }}:/etc/dovecot/"
|
|
- "{{ dovecot_volume_mail }}:/vmail/"
|
|
- "{{ dovecot_volume_ssl }}:/ssl/"
|
|
networks:
|
|
- name: "{{ docker_network }}"
|
|
ports: >-
|
|
[ "143:143",
|
|
{{ '"587:587",' if dovecot_submission_enable else '' }}
|
|
"2000:2000"
|
|
]
|
|
|
|
env:
|
|
MAIL_DOMAINS: "{{ mail_domains.keys() | list | join(' ') }}"
|
|
AUTH_MECHANISMS: "{{ dovecot_auth_mechanisms }}"
|
|
AUTH_USERNAME_FORMAT: "{{ dovecot_auth_username_format }}"
|
|
AUTH_MASTER_ENABLE: "{{ 'yes' if dovecot_auth_master_enable else '' }}"
|
|
SUBMISSION_HOSTNAME: "{{ dovecot_submission_hostname }}"
|
|
SUBMISSION_RELAY_HOST: "{{ dovecot_submission_relay_host }}"
|
|
SUBMISSION_RELAY_PORT: "{{ dovecot_submission_relay_port | string }}"
|
|
SUBMISSION_RELAY_TRUSTED: "{{ 'yes' if dovecot_submission_relay_trusted else 'no' }}"
|
|
SUBMISSION_RELAY_SSL_VERIFY: "{{ 'yes' if dovecot_submission_relay_ssl_verify else 'no' }}"
|
|
SUBMISSION_RELAY_SSL: "{{ 'yes' if dovecot_submission_relay_ssl else 'no' }}"
|
|
SUBMISSION_RELAY_USER: "{{ dovecot_submission_relay_user }}"
|
|
# SUBMISSION_RELAY_MASTER_USER:
|
|
SUBMISSION_RELAY_PASSWORD: "{{ dovecot_submission_relay_password }}"
|
|
# SUBMISSION_RELAY_RAWLOG_DIR:
|
|
LDAP_ENABLE: "{{ 'yes' if dovecot_ldap_enable else '' }}"
|
|
LDAP_HOSTS: "{{ dovecot_ldap_hosts | join(' ') }}"
|
|
LDAP_URIS: "{{ dovecot_ldap_uris | join(' ') }}"
|
|
LDAP_BIND: "{{ 'yes' if dovecot_ldap_bind else 'no' }}"
|
|
LDAP_VERSION: "{{ dovecot_ldap_version | string }}"
|
|
LDAP_BASE: "{{ dovecot_ldap_base }}"
|
|
LDAP_SCOPE: "{{ dovecot_ldap_scope }}"
|
|
LDAP_USER_ATTRS: "{{ dovecot_ldap_user_attrs }}"
|
|
LDAP_USER_FILTER: "{{ dovecot_ldap_user_filter }}"
|
|
LDAP_PASS_ATTRS: "{{ dovecot_ldap_pass_attrs }}"
|
|
LDAP_PASS_FILTER: "{{ dovecot_ldap_pass_filter }}"
|
|
LDAP_ITERATE_ATTRS: "{{ dovecot_ldap_iterate_attrs }}"
|
|
LDAP_ITERATE_FILTER: "{{ dovecot_ldap_iterate_filter }}"
|
|
LDAP_DEFAULT_PASS_SCHEME: "{{ dovecot_ldap_default_pass_scheme }}"
|
|
ANTISPAM_ENABLE: "{{ 'yes' if dovecot_antispam_enable else '' }}"
|
|
register: container
|
|
|
|
- name: Exportar informacion de container
|
|
set_fact:
|
|
dovecot_container: "{{ lookup('vars','dovecot_container') }}"
|
|
|
|
- when: dovecot_volume_config[0] != '/'
|
|
block:
|
|
- name: Leer info de volumen {{ dovecot_volume_config }}
|
|
docker_volume_info:
|
|
name: "{{ dovecot_volume_config }}"
|
|
register: res_cfg
|
|
- name: Exportar informacion de volumen
|
|
set_fact:
|
|
dovecot_volume_config: "{{ lookup('vars','dovecot_volume_config') }}"
|
|
dovecot_mountpoint_config: "{{ res_cfg.volume.Mountpoint }}"
|
|
|
|
- when: dovecot_volume_config[0] == '/'
|
|
block:
|
|
- name: Exportar informacion de volumen
|
|
set_fact:
|
|
dovecot_volume_config: "{{ lookup('vars','dovecot_volume_config') }}"
|
|
dovecot_mountpoint_config: "{{ lookup('vars','dovecot_volume_config') }}"
|
|
|
|
- when: dovecot_volume_mail[0] != '/'
|
|
block:
|
|
- name: Leer info de volumen {{ dovecot_volume_mail }}
|
|
docker_volume_info:
|
|
name: "{{ dovecot_volume_mail }}"
|
|
register: res_mail
|
|
- name: Exportar informacion de volumen
|
|
set_fact:
|
|
dovecot_volume_mail: "{{ lookup('vars','dovecot_volume_mail') }}"
|
|
dovecot_mountpoint_mail: "{{ res_mail.volume.Mountpoint }}"
|
|
|
|
- when: dovecot_volume_mail[0] == '/'
|
|
block:
|
|
- name: Exportar informacion de volumen
|
|
set_fact:
|
|
dovecot_volume_mail: "{{ lookup('vars','dovecot_volume_mail') }}"
|
|
dovecot_mountpoint_mail: "{{ lookup('vars','dovecot_volume_mail') }}"
|
|
|
|
- when: dovecot_volume_ssl[0] != '/'
|
|
block:
|
|
- name: Leer info de volumen {{ dovecot_volume_ssl }}
|
|
docker_volume_info:
|
|
name: "{{ dovecot_volume_ssl }}"
|
|
register: res_ssl
|
|
- name: Exportar informacion de volumen
|
|
set_fact:
|
|
dovecot_volume_ssl: "{{ lookup('vars','dovecot_volume_ssl') }}"
|
|
dovecot_mountpoint_ssl: "{{ res_ssl.volume.Mountpoint }}"
|
|
|
|
- when: dovecot_volume_ssl[0] == '/'
|
|
block:
|
|
- name: Exportar informacion de volumen
|
|
set_fact:
|
|
dovecot_volume_ssl: "{{ lookup('vars','dovecot_volume_ssl') }}"
|
|
dovecot_mountpoint_ssl: "{{ lookup('vars','dovecot_volume_ssl') }}"
|
|
|
|
# FIXME: configurar quota mediante confd
|
|
#
|
|
# - name: Configuración de Dovecot (1)
|
|
# template:
|
|
# dest: "{{ dovecot_mountpoint_config }}/conf.d/{{ item }}"
|
|
# src: "{{item}}.j2"
|
|
# loop:
|
|
# - 90-quota.conf
|
|
# notify: restart dovecot
|