85 lines
2.3 KiB
YAML
85 lines
2.3 KiB
YAML
---
|
|
|
|
- name: Install dependencies
|
|
package: name={{ kimai_packages }}
|
|
tags: kimai
|
|
|
|
- when: kimai_install_mode != 'none'
|
|
block:
|
|
- name: Download kimai
|
|
get_url:
|
|
url: "{{ kimai_archive_url }}"
|
|
dest: "{{ kimai_root_dir }}/tmp"
|
|
checksum: sha256:{{ kimai_archive_sha256 }}
|
|
register: kimai_dl_archive
|
|
retries: 3
|
|
delay: 5
|
|
until: kimai_dl_archive is not failed
|
|
|
|
- name: Extract the archive
|
|
unarchive:
|
|
src: "{{ kimai_root_dir }}/tmp/kimai2-{{ kimai_version }}.tar.gz"
|
|
dest: "{{ kimai_root_dir }}/tmp"
|
|
remote_src: True
|
|
|
|
- name: Move kimai to its final dir
|
|
synchronize:
|
|
src: "{{ kimai_root_dir }}/tmp/kimai2-{{ kimai_version }}/"
|
|
dest: "{{ kimai_root_dir }}/app/"
|
|
delete: True
|
|
compress: False
|
|
rsync_opts:
|
|
- '--exclude=/var'
|
|
delegate_to: "{{ inventory_hostname }}"
|
|
|
|
- name: Populate data directories
|
|
synchronize:
|
|
src: "{{ kimai_root_dir }}/tmp/kimai2-{{ kimai_version }}/var/"
|
|
dest: "{{ kimai_root_dir }}/data/"
|
|
compress: False
|
|
delegate_to: "{{ inventory_hostname }}"
|
|
|
|
- name: Link data directories
|
|
file: src={{ kimai_root_dir }}/data dest={{ kimai_root_dir }}/app/var state=link
|
|
|
|
- name: Install PHP libs with composer
|
|
composer:
|
|
command: install
|
|
working_dir: "{{ kimai_root_dir }}/app"
|
|
executable: /bin/php{{ kimai_php_version }}
|
|
|
|
- name: Install LDAP auth support
|
|
composer:
|
|
command: require
|
|
arguments: laminas/laminas-ldap
|
|
working_dir: "{{ kimai_root_dir }}/app"
|
|
|
|
environment:
|
|
php: /bin/php{{ kimai_php_version }}
|
|
tags: kimai
|
|
|
|
- import_tasks: ../includes/webapps_create_mysql_db.yml
|
|
vars:
|
|
- db_name: "{{ kimai_db_name }}"
|
|
- db_user: "{{ kimai_db_user }}"
|
|
- db_server: "{{ kimai_db_server }}"
|
|
- db_port: "{{ kimai_db_port }}"
|
|
- db_pass: "{{ kimai_db_pass }}"
|
|
tags: kimai
|
|
|
|
- name: Set correct SELinux context
|
|
sefcontext:
|
|
target: "{{ kimai_root_dir }}(/.*)?"
|
|
setype: httpd_sys_content_t
|
|
state: present
|
|
when: ansible_selinux.status == 'enabled'
|
|
tags: kimai
|
|
|
|
- name: Install pre/post backup hooks
|
|
template: src={{ item }}-backup.j2 dest=/etc/backup/{{ item }}.d/kimai_{{ kimai_id }} mode=700
|
|
loop:
|
|
- pre
|
|
- post
|
|
tags: kimai
|
|
|