From 6e50428a5cc5027e5511617effb00ae3015eb80e Mon Sep 17 00:00:00 2001 From: Saibotk Date: Wed, 14 Aug 2024 00:39:28 +0200 Subject: [PATCH] feat(mailcow): enhance setup tasks Clone repo, open ports & add backup directory --- playbooks/mailcow.yml | 46 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/playbooks/mailcow.yml b/playbooks/mailcow.yml index 6650515..d06103d 100644 --- a/playbooks/mailcow.yml +++ b/playbooks/mailcow.yml @@ -15,7 +15,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -- name: Install & configure Docker & backup cronjob +- name: Install & prepare Mailcow setup & backup cronjob hosts: mailcow roles: - docker @@ -28,5 +28,45 @@ # yamllint disable-line rule:line-length job: "MAILCOW_BACKUP_LOCATION=/srv/mailcow-backups /srv/mailcow-dockerized/helper-scripts/backup_and_restore.sh backup all --delete-days 2 2>&1 | /usr/bin/logger -t mailcow_data_backup" become: true -# Manual steps: -# - Open ports / disable postfix + + - name: Install git + ansible.builtin.package: + name: "git" + state: "present" + become: true + + - name: Clone mailcow # noqa latest[git] + ansible.builtin.git: + repo: "https://github.com/mailcow/mailcow-dockerized" + update: false + dest: "/srv/mailcow-dockerized" + become: true + + - name: Create backup directory + ansible.builtin.file: + path: "/srv/mailcow-backups" + owner: "root" + group: "root" + state: directory + mode: "0700" + become: true + + - name: Open ports + ansible.posix.firewalld: + state: enabled + permanent: true + immediate: true + zone: public + port: "{{ item }}" + loop: + - "25/tcp" + - "465/tcp" + - "587/tcp" + - "143/tcp" + - "993/tcp" + - "110/tcp" + - "995/tcp" + - "4190/tcp" + - "80/tcp" + - "443/tcp" + become: true