62 lines
1.7 KiB
YAML
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)
|
|
|