Client-Ansible-Setup/services/service_mail/deploy-service.yml

66 lines
2.2 KiB
YAML
Executable File

- hosts: localhost
become: 'yes'
vars:
ansible_become_method: doas
tasks:
- name: Temporarily disable doas pass prompt as doas persist does not work within scripts
replace:
path: /etc/doas.conf
regexp: 'persist'
replace: 'nopass'
- name: Create necessary directories
ansible.builtin.file:
path: "{{ item }}"
owner: service_mail
group: service_mail
state: directory
loop:
- "{{ services_directory }}/service_mail/data"
- "{{ services_directory }}/service_mail/data/mail-data"
- "{{ services_directory }}/service_mail/data/mail-state"
- "{{ services_directory }}/service_mail/data/mail-logs"
- "{{ services_directory }}/service_mail/data/config"
- "{{ services_directory }}/service_mail/data/config/rspamd/"
- "{{ services_directory }}/service_mail/data/config/rspamd/override.d/"
- "{{ services_directory }}/service_mail/data/certbot/logs"
- name: Copy configuration files
ansible.builtin.template:
src: "data/config/{{ item }}"
dest: "{{ services_directory }}/service_mail/data/config/{{ item }}"
owner: service_mail
group: service_mail
loop:
- dovecot-masteroverride.conf
- postfix-master.cf
- postfix-main.cf
- user-patches.sh
- rspamd/override.d/dkim_signing.conf
- name: Copy docker compose config and other files
ansible.builtin.template:
src: "{{ item }}"
dest: "{{ services_directory }}/service_mail/{{ item }}"
owner: service_mail
group: service_mail
loop:
- docker-compose.yml
- certbot-docker-compose-initrenew.yml
- myconfig.org
- name: Copy SSL certificates
ansible.builtin.copy:
src: data/certbot/certs
dest: "{{ services_directory }}/service_mail/data/certbot"
owner: service_mail
group: service_mail
- name: Switch back to doas persist
replace:
path: /etc/doas.conf
regexp: 'nopass'
replace: 'persist'
- name: Debug Finish message
debug:
msg: Ansible playbook has finished!