aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Joe Banks <[email protected]>2024-08-22 18:35:05 +0100
committerGravatar Joe Banks <[email protected]>2024-08-23 16:52:17 +0100
commitcbd4ffbcefb946c2410fff3bb775eb0969350a99 (patch)
treed4abe7454d180de0b5bc602af12da81d5652f772
parentCorrect typo in rrdstats variables file (diff)
Create tasks for installing Dovecot (IMAP server)
-rw-r--r--ansible/roles/dovecot/handlers/main.yml10
-rw-r--r--ansible/roles/dovecot/tasks/main.yml85
2 files changed, 95 insertions, 0 deletions
diff --git a/ansible/roles/dovecot/handlers/main.yml b/ansible/roles/dovecot/handlers/main.yml
new file mode 100644
index 0000000..fa1d224
--- /dev/null
+++ b/ansible/roles/dovecot/handlers/main.yml
@@ -0,0 +1,10 @@
+---
+- name: Reload Dovecot
+ service:
+ name: dovecot
+ state: reloaded
+
+- name: Restart Dovecot
+ service:
+ name: dovecot
+ state: restarted
diff --git a/ansible/roles/dovecot/tasks/main.yml b/ansible/roles/dovecot/tasks/main.yml
new file mode 100644
index 0000000..04d4ec2
--- /dev/null
+++ b/ansible/roles/dovecot/tasks/main.yml
@@ -0,0 +1,85 @@
+---
+- name: Install Dovecot packages
+ package:
+ state: present
+ name:
+ - dovecot-core
+ - dovecot-imapd
+ - dovecot-lmtpd
+ - dovecot-ldap
+ tags:
+ - role::dovecot
+
+- name: Create the vmail group
+ group:
+ name: vmail
+ state: present
+ gid: 5000
+ tags:
+ - role::dovecot
+
+- name: Create the vmail user
+ user:
+ name: vmail
+ uid: 5000
+ group: vmail
+ home: /var/vmail
+ tags:
+ - role::dovecot
+
+- name: Add Dovecot to mail group
+ user:
+ name: dovecot
+ groups: mail
+ append: true
+ tags:
+ - role::dovecot
+ notify:
+ - Restart Dovecot
+
+- name: Template Dovecot configuration
+ template:
+ src: dovecot.conf.j2
+ dest: /etc/dovecot/dovecot.conf
+ group: root
+ owner: root
+ mode: "0644"
+ tags:
+ - role::dovecot
+ notify:
+ - Reload Dovecot
+
+- name: Template Dovecot LDAP config
+ template:
+ src: dovecot-ldap.conf.ext.j2
+ dest: /etc/dovecot/dovecot-ldap.conf.ext
+ group: root
+ owner: root
+ mode: "0600"
+ tags:
+ - role::dovecot
+ notify:
+ - Reload Dovecot
+
+- name: Template Dovecot component configurations
+ template:
+ src: "configs/{{ item.template }}"
+ dest: "/etc/dovecot/conf.d/{{ item.path }}"
+ group: root
+ owner: root
+ mode: "0644"
+ loop:
+ - template: 10-mail.conf.j2
+ path: 10-mail.conf
+ - template: 10-master.conf.j2
+ path: 10-master.conf
+ - template: 10-auth.conf.j2
+ path: 10-auth.conf
+ - template: 10-ssl.conf.j2
+ path: 10-ssl.conf
+ - template: auth-ldap.conf.ext.j2
+ path: auth-ldap.conf.ext
+ tags:
+ - role::dovecot
+ notify:
+ - Reload Dovecot