summaryrefslogtreecommitdiff
path: root/roles/mail/tasks
diff options
context:
space:
mode:
authorElizabeth Hunt <elizabeth.hunt@simponic.xyz>2024-01-07 00:35:54 -0500
committerElizabeth Hunt <elizabeth.hunt@simponic.xyz>2024-01-07 00:39:16 -0500
commitae64628958a10362aa7c65050ca8ff2546220c95 (patch)
treea8256e6c7e989709c7589cfc3c92f4d11f27753b /roles/mail/tasks
parentfb0b3914086484d9284426985984e2c1699ba557 (diff)
downloadoldinfra-ae64628958a10362aa7c65050ca8ff2546220c95.tar.gz
oldinfra-ae64628958a10362aa7c65050ca8ff2546220c95.zip
add mail role!
Diffstat (limited to 'roles/mail/tasks')
-rw-r--r--roles/mail/tasks/main.yml57
1 files changed, 57 insertions, 0 deletions
diff --git a/roles/mail/tasks/main.yml b/roles/mail/tasks/main.yml
new file mode 100644
index 0000000..4233f68
--- /dev/null
+++ b/roles/mail/tasks/main.yml
@@ -0,0 +1,57 @@
+---
+- name: install letsencrypt
+ apt:
+ name: letsencrypt
+ state: latest
+
+- name: allow 80/tcp ufw
+ ufw:
+ rule: allow
+ port: '80'
+ proto: 'tcp'
+
+- name: allow 443/tcp ufw
+ ufw:
+ rule: allow
+ port: '443'
+ proto: 'tcp'
+
+- name: restart ufw
+ service: name=ufw state=restarted enabled=yes
+
+- name: request certificate
+ shell: >
+ letsencrypt certonly -n --standalone -d "{{ domain }}" \
+ -m "{{ certbot_email }}" --agree-tos
+ args:
+ creates: "/etc/letsencrypt/live/{{ domain }}"
+
+- name: add monthly letsencrypt cronjob for cert renewal
+ cron:
+ name: "letsencrypt_renewal_mail"
+ day: "18"
+ hour: "2"
+ minute: "1"
+ job: "letsencrypt renew --cert-name {{ domain }} -n --standalone --agree-tos -m {{ certbot_email }}"
+
+- name: ensure mail docker/compose exist
+ file:
+ path: /etc/docker/compose/mail
+ state: directory
+ owner: root
+ group: root
+ mode: 0700
+
+- name: build mail docker-compose.yml.j2
+ template:
+ src: ../templates/docker-compose.yml.j2
+ dest: /etc/docker/compose/mail/docker-compose.yml
+ owner: root
+ group: root
+ mode: u=rw,g=r,o=r
+
+- name: daemon-reload and enable mail
+ ansible.builtin.systemd_service:
+ state: restarted
+ enabled: true
+ name: docker-compose@mail