--- ## Remove the previous app & install the new version - name: Remove Nextcloud previous version ansible.builtin.file: state: absent dest: "{{ nextcloud_app_home }}" - name: Create app home ansible.builtin.file: state: directory dest: "{{ nextcloud_app_home }}" owner: root group: www-data mode: "0o750" - name: Install nextcloud application ansible.builtin.unarchive: remote_src: true src: "{{ nextcloud_url }}" dest: "{{ nextcloud_app_home }}" owner: root group: www-data mode: "a-rwx,u+rwX,g+rX" extra_opts: ['--strip-components=1'] - name: Check writable dirs ansible.builtin.file: state: directory dest: "{{ nextcloud_app_home }}/{{ item }}" owner: root group: www-data mode: "g+w" recurse: true loop: "{{ nextcloud_writable_app_dirs }}" - name: Put config file ansible.builtin.template: src: "config.php.j2" dest: "{{ nextcloud_app_home }}/config/config.php" owner: www-data group: www-data mode: "0o640" # Nextcloud `data/` does not exist in the archive, so create it everytime - name: Create data home ansible.builtin.file: state: directory path: "{{ nextcloud_data_home }}/data" owner: www-data group: www-data mode: "0o750" - name: Link Nextcloud userdata dirs ansible.builtin.file: state: link src: "{{ nextcloud_data_home }}/{{ item }}" dest: "{{ nextcloud_app_home }}/{{ item }}" loop: "{{ nextcloud_userdata_app_dirs }}" - name: Run occ upgrade become: true become_user: www-data ansible.builtin.command: cmd: "php occ upgrade" chdir: "{{ nextcloud_app_home }}" changed_when: false