--- - name: Set list of required software set_fact: required_software: - libsieve2-1 - libzdb11 - libglib2.0-dev - libgmime-3.0-dev - libsieve2-dev - libmhash-dev - libzdb-dev - libevent-dev - libldap-dev - libssl-dev - asciidoc - python3-pymysql - name: Ensure required software is installed package: name: "{{ required_software }}" - name: Ensure log folder exists file: path: "{{ dbmail_logfolder }}" state: directory #owner: ??? #group: ??? - name: Download source get_url: url: "https://github.com/dbmail/dbmail/archive/refs/tags/v{{ dbmail_version }}.tar.gz" dest: "/tmp/dbmail.{{ dbmail_version }}.tar.gz" - name: Decompress source unarchive: remote_src: true src: "/tmp/dbmail.{{ dbmail_version }}.tar.gz" dest: /usr/src creates: "/usr/src/dbmail-{{ dbmail_version }}/configure" - name: Compile source shell: "/usr/src/dbmail-{{ dbmail_version }}/configure --with-zdb=/usr --with-sieve --with-ldap --localstatedir=/var/run/dbmail --runstatedir=/run/dbmail --enable-systemd --enable-manpages --sysconfdir=/etc/dbmail --with-logdir={{ dbmail_logfolder }}" args: chdir: "/usr/src/dbmail-{{ dbmail_version }}/" creates: "/usr/src/dbmail-{{ dbmail_version }}/Makefile" - name: Make source shell: "make" args: chdir: "/usr/src/dbmail-{{ dbmail_version }}/" creates: "/usr/src/dbmail-{{ dbmail_version }}/src/dbmail-imapd" - name: Make installation shell: "make install" args: chdir: "/usr/src/dbmail-{{ dbmail_version }}/" creates: /usr/local/sbin/dbmail-imapd - name: Copy cron task copy: remote_src: true src: "/usr/src/dbmail-{{ dbmail_version }}/debian/dbmail.cron.d" dest: /etc/cron.d/dbmail-util - name: Copy logrotate configuration copy: remote_src: true src: "/usr/src/dbmail-{{ dbmail_version }}/debian/dbmail.logrotate" dest: /etc/logrotate.d/dbmail - name: Ensure dbmail group exists group: name: "{{ dbmail_group }}" - name: Ensure dbmail user exists user: name: "{{ dbmail_user }}" group: "{{ dbmail_group }}" shell: /dev/null - name: Set properties of service unit set_fact: unit_description: 'DBMail HTTP daemon to manage user mailbox' unit_exec_start: '/usr/local/sbin/dbmail-httpd -D' - name: Ensure dbmail-httpd service unit is present template: src: templates/service.unit.j2 dest: /etc/systemd/system/dbmail-httpd.service - name: Ensure DBMail HTTP service is enabled ansible.builtin.systemd: state: started daemon_reload: true enabled: true name: dbmail-httpd