--- - name: "Run Update-Check" become: true become_user: "{{ nextcloud_user }}" shell: cmd: "{{ php_binary }} {{ php_arguments }} {{ nextcloud_path }}/occ update:check --no-interaction --no-warnings" register: nextcloud_update_check_output - name: "Parse Update-Check Output" ansible.builtin.set_fact: nextcloud_update_needed: "{{ nextcloud_update_check_output.stdout | regex_search('Nextcloud\\s[^\\n]*\\sis\\savailable') | bool }}" - name: "Enable Maintenance-Mode" include_tasks: "occ_command.yml" vars: occ_command: "maintenance:mode --on" - name: "Run Update" include_tasks: "update.yml" when: nextcloud_update_needed - name: "Run Maintenance tasks" include_tasks: "occ_command.yml" vars: occ_command: "{{ item }}" loop: - "maintenance:repair --no-interaction" - "app:update --all --no-interaction" - "maintenance:update:htaccess --no-interaction" - "db:add-missing-columns --no-interaction" - "db:add-missing-indices --no-interaction" - "db:add-missing-primary-keys --no-interaction" - "db:convert-filecache-bigint --no-interaction" - "db:convert-mysql-charset --no-interaction" - name: "Disable Maintenance-Mode" include_tasks: "occ_command.yml" vars: occ_command: "maintenance:mode --off"