cloud-modoboa/tasks/dovecot.yml
2023-08-20 10:31:08 +02:00

83 lines
2.1 KiB
YAML
Executable File

- 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