diff --git a/roles/nextcloud/defaults/main.yml b/roles/nextcloud/defaults/main.yml index a080517..2e5a61e 100644 --- a/roles/nextcloud/defaults/main.yml +++ b/roles/nextcloud/defaults/main.yml @@ -46,4 +46,13 @@ nextcloud_admin_password: admin nextcloud_memory_limit_mb: 1024 nextcloud_upload_limit_mb: 2048 -nextcloud_scale_factor: 2 \ No newline at end of file +nextcloud_scale_factor: 2 + +# Non-default apps to install and enable +nextcloud_apps_to_install: + - groupfolders + - richdocuments + - spreed + - user_ldap + - user_oidc + - whiteboard \ No newline at end of file diff --git a/roles/nextcloud/tasks/plugins.yml b/roles/nextcloud/tasks/plugins.yml index 32d7c64..2a6d8a5 100644 --- a/roles/nextcloud/tasks/plugins.yml +++ b/roles/nextcloud/tasks/plugins.yml @@ -1,3 +1,25 @@ #SPDX-License-Identifier: MIT-0 --- # tasks file for installing Nextcloud plugins/apps + +- name: Install Nextcloud apps + ansible.builtin.shell: + cmd: docker compose exec -T nextcloud php /var/www/html/occ app:install {{ item }} + chdir: "{{ nextcloud_docker_compose_dir }}" + loop: "{{ nextcloud_apps_to_install }}" + register: app_install_result + changed_when: "'installed' in app_install_result.stdout" + failed_when: + - app_install_result.rc != 0 + - "'already installed' not in app_install_result.stdout" + +- name: Enable Nextcloud apps + ansible.builtin.shell: + cmd: docker compose exec -T nextcloud php /var/www/html/occ app:enable {{ item }} + chdir: "{{ nextcloud_docker_compose_dir }}" + loop: "{{ nextcloud_apps_to_install }}" + register: app_enable_result + changed_when: "'enabled' in app_enable_result.stdout" + failed_when: + - app_enable_result.rc != 0 + - "'already enabled' not in app_enable_result.stdout"