summaryrefslogtreecommitdiff
path: root/roles/dovecot/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/dovecot/tasks/main.yml')
-rw-r--r--roles/dovecot/tasks/main.yml51
1 files changed, 51 insertions, 0 deletions
diff --git a/roles/dovecot/tasks/main.yml b/roles/dovecot/tasks/main.yml
new file mode 100644
index 0000000..8fbaeec
--- /dev/null
+++ b/roles/dovecot/tasks/main.yml
@@ -0,0 +1,51 @@
+---
+- name: Create vmail group
+ become: yes
+ group: name=vmail
+
+- name: Create vmail user
+ become: yes
+ user: name=vmail createhome=no group=vmail
+
+- name: install dovecot
+ become: yes
+ pacman: name=dovecot state=present update_cache=yes
+
+- name: Create mail database user
+ mysql_user: login_user=root login_password="{{ mysql_root_password }}" name=mail password={{ mail_database_password }}
+
+- name: Copy the mail database dump
+ copy: src=mail.sql.xz dest=/tmp/
+
+- name: Create mail database
+ mysql_db: login_user=root login_password={{ mysql_root_password }} name=mail state=present
+
+- name: import mail database
+ mysql_db: login_user=root login_password={{ mysql_root_password }} name=mail state=import target=/tmp/mail.sql.xz
+
+- name: Grant rights to the mail user
+ mysql_user: login_user=root login_password="{{ mysql_root_password }}" name=mail priv=mail.*:ALL,GRANT state=present
+
+- name: Copy the mail backup
+ become: yes
+ unarchive: src=vmail.tar.xz dest=/var/ owner=vmail group=vmail
+
+- name: Copy dovecot main config
+ become: yes
+ copy: src=dovecot.conf dest=/etc/dovecot/
+
+- name: Copy dovecot conf.d
+ become: yes
+ copy: src=conf.d dest=/etc/dovecot/
+
+- name: Copy ssl template
+ become: yes
+ template: src=10-ssl.conf.j2 dest=/etc/dovecot/conf.d/10-ssl.conf
+
+- name: Copy sql userdb config
+ become: yes
+ template: src=dovecot-sql.conf.ext.j2 dest=/etc/dovecot/dovecot-sql.conf.ext mode=640
+
+- name: Start and enable dovecot
+ become: yes
+ service: name=dovecot state=started enabled=yes