summaryrefslogtreecommitdiffstats
path: root/roles/IMAP-proxy/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/IMAP-proxy/tasks/main.yml')
-rw-r--r--roles/IMAP-proxy/tasks/main.yml51
1 files changed, 51 insertions, 0 deletions
diff --git a/roles/IMAP-proxy/tasks/main.yml b/roles/IMAP-proxy/tasks/main.yml
new file mode 100644
index 0000000..c630cfd
--- /dev/null
+++ b/roles/IMAP-proxy/tasks/main.yml
@@ -0,0 +1,51 @@
+- name: Install Dovecot
+ apt: pkg={{ item }}
+ with_items:
+ - dovecot-core
+ - dovecot-imapd
+
+- name: Create a user 'imapproxy'
+ user: name=imapproxy system=yes
+ home=/home/imapproxy
+ shell=/bin/false
+ password=!
+ state=present
+
+- name: Create a home directory for user 'imapproxy'
+ file: path=/home/imapproxy
+ state=directory
+ owner=imapproxy group=imapproxy
+ mode=0700
+
+- name: Configure Dovecot (1)
+ copy: src=etc/dovecot/conf.d/{{ item }}
+ dest=/etc/dovecot/conf.d/{{ item }}
+ owner=root group=root
+ mode=0644
+ register: r1
+ with_items:
+ - 10-auth.conf
+ - 10-logging.conf
+ - 10-mail.conf
+ - 10-master.conf
+ - 15-mailboxes.conf
+ notify:
+ - Restart Dovecot
+
+- name: Configure Dovecot (2)
+ template: src=etc/dovecot/conf.d/{{ item }}.j2
+ dest=/etc/dovecot/conf.d/{{ item }}
+ owner=root group=root
+ mode=0644
+ register: r2
+ with_items:
+ - 20-imapc.conf
+ - auth-imap.conf.ext
+ notify:
+ - Restart Dovecot
+
+- name: Start Dovecot
+ service: name=dovecot state=started
+ when: not (r1.changed or r2.changed)
+
+- meta: flush_handlers