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

62 lines
1.7 KiB
YAML

---
- name: Parse apps data
set_fact:
nc_app_name: '{{ item.key }}'
nc_app_cfg: '{{ item.value }}'
- block:
- name: 'Download app {{ nc_app_name }}'
unarchive:
copy: no
src: '{{ nc_app_cfg }}'
dest: '{{ nextcloud_webroot }}/apps/'
owner: 'www-data'
group: 'www-data'
creates: '{{ nextcloud_webroot }}/apps/{{ nc_app_name }}'
when: nc_app_cfg is not none
- name: 'Enable app {{ nc_app_name }}'
become_user: 'www-data'
become: yes
command: php occ app:enable '{{ nc_app_name }}'
args:
chdir: '{{ nextcloud_webroot }}'
when: nc_app_cfg is string
- block:
- name: Verify app declaration when it's not a simple string
assert:
that:
- (nc_app_cfg.source is defined) and (nc_app_cfg.source is string)
msg: '{{ nc_app_name }} is not well declared.'
- name: 'Download app {{ nc_app_name }}'
unarchive:
copy: no
src: '{{ nc_app_cfg.source }}'
dest: '{{ nextcloud_webroot }}/apps/'
owner: 'www-data'
group: 'www-data'
creates: '{{ nextcloud_webroot }}/apps/{{ nc_app_name }}'
when: nc_app_cfg.source is not none
- name: 'Enable app {{ nc_app_name }}'
become_user: 'www-data'
become: yes
command: php occ app:enable '{{ nc_app_name }}'
args:
chdir: '{{ nextcloud_webroot }}'
- block:
- name: 'Configure app {{ nc_app_name }}'
become_user: 'www-data'
become: yes
command: php occ config:app:set {{ nc_app_name }} {{ item_cfg.key }} --value='{{ item_cfg.value }}'
args:
chdir: '{{ nextcloud_webroot }}'
loop: '{{ nc_app_cfg.conf | default({}) }}'
loop_control:
loop_var: item_cfg
when: nc_app_cfg.conf is defined
when: (nc_app_cfg is mapping)