You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.0 KiB

---
# Disable IPv6 for Dovecot / force IPv4
- name: Create dovecot conf.d directory
file:
path: /etc/dovecot/conf.d
state: directory
- name: Add dovecot conf
lineinfile:
path: /etc/dovecot/conf.d/99-ipv4-only.conf
create: yes
line: "listen = *"
insertafter: EOF
state: present
- name: Install dovecot
apt:
name: "{{ item }}"
dpkg_options: 'force-confdef,force-confnew'
update_cache: yes
with_items:
- dovecot-antispam
- dovecot-imapd
- name: Create directors for dovecot users
shell: maildirmake.dovecot /etc/skel/"{{ item }}"
with_items:
- Maildir
- Maildir/.Drafts
- Maildir/.Sent
- Maildir/.Trash
- Maildir/.Templates
- name: Copy dovecot skel directory to users
synchronize:
src: /etc/skel/Maildir
dest: "/home/{{ item }}/"
recursive: yes
delegate_to: "{{ inventory_hostname }}"
with_items:
- jebba
- mailarchive
- name: Update Maildir folder permissions in users folder
file:
path: "/home/{{ item }}/Maildir"
mode: 0700
owner: "{{ item }}"
group: "{{ item }}"
with_items:
- jebba
- mailarchive
- name: Update users folder permissions
file:
path: "/home/{{ item }}"
mode: og-rwx
with_items:
- jebba
- mailarchive
- name: Update 10-auth.conf and 10-mail.conf
lineinfile:
path: "/etc/dovecot/conf.d/{{ item.conf }}"
regexp: '{{ item.find }}'
line: '{{ item.replace }}'
with_items:
- {find: '^.*?disable_plaintext_auth.*=.*', replace: 'disable_plaintext_auth = yes', conf: '10-auth.conf'}
- {find: '^.*?auth_mechanisms.*=.*', replace: 'auth_mechanisms = plain login', conf: '10-auth.conf'}
- {find: '^.*?mail_location.*', replace: 'mail_location = maildir:~/Maildir', conf: '10-mail.conf'}
- name: Copy conf files to remote
template:
src: "{{ item }}.j2"
dest: "/etc/dovecot/conf.d/{{ item }}"
with_items:
- 10-master.conf
- 10-ssl.conf
notify:
- restart dovecot