ansible-role-dbmail/tasks/install.yml

78 lines
No EOL
2.1 KiB
YAML

---
- 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
- 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