ansible-role-nextcloud/roles/nextcloud/tasks/nc_apps.yml

64 lines
2.2 KiB
YAML

---
- name: parse the item values
set_fact:
nc_app_name: "{{ item.key }}"
nc_app_cfg: "{{ item.value }}"
- block:
- name: "[ App {{ nc_app_name }} ] - Download Archive in apps folder."
unarchive:
copy: no
src: "{{ nc_app_cfg }}"
dest: "{{ nextcloud_webroot }}/apps/"
owner: "{{ nextcloud_websrv_user }}"
group: "{{ nextcloud_websrv_group }}"
creates: "{{ nextcloud_webroot }}/apps/{{ nc_app_name }}"
when: nc_app_cfg is not none
- name: "[ App {{ nc_app_name }} ] - enable the application."
become_user: "{{ nextcloud_websrv_user }}"
become_flags: "{{ ansible_become_flags | default(omit) }}"
become: yes
command: php occ app:enable "{{ nc_app_name }}"
args:
chdir: "{{ nextcloud_webroot }}"
when: nc_app_cfg is string
- block:
- name: verify the app's yaml declaration
assert:
that:
- (nc_app_cfg.source is defined) and (nc_app_cfg.source is string)
msg: "{{ nc_app_name }} is not well declared."
- name: "[ App {{ nc_app_name }} ] - Download Archive in apps folder."
unarchive:
copy: no
src: "{{ nc_app_cfg.source }}"
dest: "{{ nextcloud_webroot }}/apps/"
owner: "{{ nextcloud_websrv_user }}"
group: "{{ nextcloud_websrv_group }}"
creates: "{{ nextcloud_webroot }}/apps/{{ nc_app_name }}"
when: nc_app_cfg.source is not none
- name: "[ App {{ nc_app_name }} ] - enable the application."
become_user: "{{ nextcloud_websrv_user }}"
become_flags: "{{ ansible_become_flags | default(omit) }}"
become: yes
command: php occ app:enable "{{ nc_app_name }}"
args:
chdir: "{{ nextcloud_webroot }}"
- block:
- name: "[ App {{ nc_app_name }} ] - Configure the application "
become_user: "{{ nextcloud_websrv_user }}"
become_flags: "{{ ansible_become_flags | default(omit) }}"
become: yes
command: php occ config:app:set {{ nc_app_name }} {{ item_cfg.key }} --value="{{ item_cfg.value }}"
args:
chdir: "{{ nextcloud_webroot }}"
with_dict: "{{ nc_app_cfg.conf | default({}) }}"
loop_control:
loop_var: item_cfg
when: nc_app_cfg.conf is defined
when: (nc_app_cfg is mapping)