summaryrefslogtreecommitdiff
path: root/roles/dovecot/tasks
diff options
context:
space:
mode:
authorDmitry Ilvokhin <d@ilvokhin.com>2024-04-06 19:51:43 +0100
committerDmitry Ilvokhin <d@ilvokhin.com>2024-04-06 19:51:43 +0100
commit8cce1ff3e54c89dbfb80851cf51dfbb7232f2d76 (patch)
tree92f9810d29f49137c96e0d675cef0bd1f1805789 /roles/dovecot/tasks
parent50399ab1871dc4932a814208d1bbe37fb88eee14 (diff)
downloadinfra-8cce1ff3e54c89dbfb80851cf51dfbb7232f2d76.tar.gz
infra-8cce1ff3e54c89dbfb80851cf51dfbb7232f2d76.tar.bz2
infra-8cce1ff3e54c89dbfb80851cf51dfbb7232f2d76.zip
Add dovecot role
Diffstat (limited to 'roles/dovecot/tasks')
-rw-r--r--roles/dovecot/tasks/main.yml63
1 files changed, 63 insertions, 0 deletions
diff --git a/roles/dovecot/tasks/main.yml b/roles/dovecot/tasks/main.yml
new file mode 100644
index 0000000..3ed1a46
--- /dev/null
+++ b/roles/dovecot/tasks/main.yml
@@ -0,0 +1,63 @@
+- name: Install dovecot
+ ansible.builtin.package:
+ name:
+ - dovecot
+ state: present
+
+- name: Create vmail group
+ ansible.builtin.group:
+ name: vmail
+ gid: 5000
+ state: present
+
+- name: Create vmail user
+ ansible.builtin.user:
+ name: vmail
+ uid: 5000
+ group: vmail
+ shell: /usr/bin/nologin
+ state: present
+
+- name: Setup dovecot config directory
+ ansible.builtin.file:
+ path: /etc/dovecot
+ state: directory
+ owner: root
+ group: root
+ mode: u+rw,g+r,o+r
+
+# Note: use `doveadm pw -s SHA512-CRYPT` to generate a new password.
+- name: Copy dovecot passwd file
+ ansible.builtin.copy:
+ src: files/users
+ dest: /etc/dovecot/passwd
+ owner: root
+ group: root
+ mode: u+rw,g+r,o+r
+ notify:
+ - Reload dovecot
+
+- name: Configure dovecot
+ ansible.builtin.copy:
+ src: files/dovecot.conf
+ dest: /etc/dovecot/dovecot.conf
+ owner: root
+ group: root
+ mode: u+rw,g+r,o+r
+ notify:
+ - Check dovecot
+ - Reload dovecot
+
+- name: Copy dovecot certificate renewal hook
+ ansible.builtin.copy:
+ src: files/dovecot.sh
+ dest: /etc/letsencrypt/renewal-hooks/deploy/dovecot.sh
+ owner: root
+ group: root
+ mode: u+rwx,g+r,o+r
+
+- name: Enable dovecot systemd service
+ ansible.builtin.service:
+ name: dovecot
+ enabled: yes
+ state: started