summaryrefslogtreecommitdiff
path: root/roles/dovecot/tasks/main.yml
blob: dcc09e49be93f89f6139042d7117516c7075888b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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: true
    state: started