- name: install requirements for Dovecot apt: update_cache: yes state: "{% if hcs_update | bool %}latest{% else %}present{% endif %}" install_recommends: yes pkg: - dovecot-core - dovecot-imapd - dovecot-pop3d - dovecot-lmtpd - dovecot-mysql - dovecot-pgsql - dovecot-sieve - dovecot-managesieved - dovecot-antispam - name: setup modoboa management with dovecot every minute for modoboa user cron: name: manage modoboa user: "vmail" job: "{{ modoboa_py_venv_bin }}/python3 {{ dovcot_target_instance }}/manage.py handle_mailbox_operations" notify: restart dovecot - name: setup dovecot configuration template: src: etc/dovecot/dovecot.conf.j2 dest: "{{ dovecot_dir }}/dovecot.conf" mode: 0664 group: "{{ modoboa_user }}" - name: "setup db-engine sql connection for db type {{ modoboa_db_type }}" template: src: "etc/dovecot/dovecot-{{ modoboa_db_type }}.conf.ext.j2" dest: "{{ dovecot_dir }}/dovecot-sql.conf.ext" mode: 0664 group: "{{ modoboa_user }}" notify: restart dovecot - name: setup required configs template: src: "etc/dovecot/conf.d/{{ config }}.j2" dest: "{{ dovecot_dir }}/conf.d/{{ config }}" mode: 0664 group: "{{ modoboa_user }}" loop: - 10-mail.conf - 10-auth.conf - 10-master.conf - 10-ssl.conf - 15-lda.conf - 20-imap.conf - 20-lmtp.conf - 20-managesieve.conf - 90-sieve.conf - auth-sql.conf.ext loop_control: loop_var: config label: "{{ config }}" notify: restart dovecot - name: setup quota config template: src: "etc/dovecot/conf.d/90-quota.conf.j2" dest: "{{ dovecot_dir }}/conf.d/90-quota.conf" mode: 0644 group: "{{ modoboa_user }}" # notify: quota update notify: restart dovecot - name: setup postlogin script template: src: "usr/local/bin/postlogin_{{ modoboa_db_type }}.sh" dest: "{{ dovecot_sieve_exec }}" mode: 0775 group: "{{ modoboa_user }}" notify: restart dovecot - name: enable dovecot systemd unit systemd: name: dovecot enabled: yes daemon_reload: yes state: started