61 lines
1.5 KiB
YAML
61 lines
1.5 KiB
YAML
|
- name: "(Re)Create {{ project_dir }} project directory"
|
||
|
file:
|
||
|
path: "{{ project_dir }}"
|
||
|
state: "{{ item }}"
|
||
|
loop:
|
||
|
- absent
|
||
|
- directory
|
||
|
|
||
|
- name: Template configuration files to project directory
|
||
|
template:
|
||
|
src: "{{ item.src }}"
|
||
|
dest: "{{ project_dir }}/{{ item.path }}"
|
||
|
owner: "{{ host_uid }}"
|
||
|
group: "{{ users['mailserver'] + uid_shift }}"
|
||
|
mode: '640'
|
||
|
with_filetree: ../templates/
|
||
|
when: item.state == 'file'
|
||
|
become: true
|
||
|
|
||
|
- name: "Create (if not exists) directory {{ volumes['mailserver_datadir'] }} & set permissions"
|
||
|
file:
|
||
|
path: "{{ volumes['mailserver_datadir'] }}"
|
||
|
state: directory
|
||
|
owner: "{{ users['mailserver'] + uid_shift }}"
|
||
|
group: "{{ users['mailserver'] + uid_shift }}"
|
||
|
mode: '700'
|
||
|
become: true
|
||
|
|
||
|
- name: Set limited permissions on certificate directories
|
||
|
file:
|
||
|
path: "/etc/{{ item }}"
|
||
|
state: directory
|
||
|
owner: root
|
||
|
group: root
|
||
|
mode: '751'
|
||
|
become: true
|
||
|
loop:
|
||
|
- letsencrypt
|
||
|
- letsencrypt/live
|
||
|
- letsencrypt/archive
|
||
|
|
||
|
- name: Set limited permissions on certificate directories
|
||
|
file:
|
||
|
path: "/etc/letsencrypt/{{ item }}/mail.{{ domain }}"
|
||
|
state: directory
|
||
|
owner: root
|
||
|
group: "{{ host_uid }}"
|
||
|
mode: '550'
|
||
|
become: true
|
||
|
loop:
|
||
|
- live
|
||
|
- archive
|
||
|
|
||
|
- name: Set limited permissions on certificate key file
|
||
|
file:
|
||
|
path: "/etc/letsencrypt/live/mail.{{ domain }}/privkey.pem"
|
||
|
owner: root
|
||
|
group: "{{ host_uid }}"
|
||
|
mode: '640'
|
||
|
become: true
|