--- - name: Install required apt packages become: yes apt: name: git state: present - name: Check if mailcow installation directory exists become: yes stat: path: "{{ mailcow__install_path }}" register: mailcow_installed - name: Clone mailcow git repo become: yes git: repo: "{{ mailcow__git_repo }}" version: "{{ mailcow__git_version }}" umask: '022' update: false dest: "{{ mailcow__install_path }}" when: not mailcow_installed.stat.exists - name: Generate mailcow.conf file shell: | umask 0022 ./generate_config.sh environment: MAILCOW_HOSTNAME: "{{ mailcow__hostname }}" MAILCOW_TZ: "{{ mailcow__timezone }}" MAILCOW_BRANCH: "{{ mailcow__git_version }}" args: executable: /bin/bash chdir: "{{ mailcow__install_path }}" creates: mailcow.conf tags: - skip_ansible_lint - name: Template settings for mailcow.conf import_tasks: mailcowconf.yml - name: Configure Rspamd import_tasks: rspamd.yml - name: Migrate NGINX Redirect import_tasks: nginx.yml - name: Copy vars.local.inc.php become: yes template: src: vars.local.inc.php.j2 dest: "{{ mailcow__install_path }}/data/web/inc/vars.local.inc.php" - name: Check if mailcow containers are running become: yes community.docker.docker_container_info: name: "{{ mailcow__docker_compose_project_name }}-nginx-mailcow-1" register: mailcow_running - name: Start mailcow container stack become: yes shell: | {{ mailcow__compose_command }} --project-name {{ mailcow__docker_compose_project_name }} up -d args: chdir: "{{ mailcow__install_path }}" when: not mailcow_running.exists - name: Update mailcow include_tasks: update.yml when: - mailcow_running.exists - mailcow__install_updates