From dfc84ca76e34659ba55b7d217670392fdf09529b Mon Sep 17 00:00:00 2001 From: harry Date: Thu, 13 Nov 2025 14:06:03 +0000 Subject: [PATCH] Add playbooks/nextcloud-upgrade.yml --- playbooks/nextcloud-upgrade.yml | 68 +++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 playbooks/nextcloud-upgrade.yml diff --git a/playbooks/nextcloud-upgrade.yml b/playbooks/nextcloud-upgrade.yml new file mode 100644 index 0000000..54ccc21 --- /dev/null +++ b/playbooks/nextcloud-upgrade.yml @@ -0,0 +1,68 @@ +--- +- name: Upgrade Nextcloud via CLI on Rocky Linux + hosts: nextcloud_servers + become: yes + vars: + nextcloud_dir: /var/www/nextcloud + web_user: apache + php_cli: /usr/bin/php + service_name: httpd + + tasks: + - name: Reminder to ensure backups + debug: + msg: "⚠️ Ensure database and data directory backups are taken before running upgrade!" + + - name: Enable maintenance mode + command: "{{ php_cli }} occ maintenance:mode --on" + args: + chdir: "{{ nextcloud_dir }}" + become_user: "{{ web_user }}" + + - name: Run Nextcloud CLI updater (non-interactive) + command: "{{ php_cli }} updater/updater.phar --no-interaction" + args: + chdir: "{{ nextcloud_dir }}" + become_user: "{{ web_user }}" + + - name: Perform Nextcloud database upgrade + command: "{{ php_cli }} occ upgrade" + args: + chdir: "{{ nextcloud_dir }}" + become_user: "{{ web_user }}" + + - name: Run DB maintenance - add missing indices + command: "{{ php_cli }} occ db:add-missing-indices" + args: + chdir: "{{ nextcloud_dir }}" + become_user: "{{ web_user }}" + ignore_errors: yes + + - name: Run DB maintenance - convert bigint fields + command: "{{ php_cli }} occ db:convert-filecache-bigint --no-interaction" + args: + chdir: "{{ nextcloud_dir }}" + become_user: "{{ web_user }}" + ignore_errors: yes + + - name: Disable maintenance mode + command: "{{ php_cli }} occ maintenance:mode --off" + args: + chdir: "{{ nextcloud_dir }}" + become_user: "{{ web_user }}" + + - name: Restart Apache (httpd) + service: + name: "{{ service_name }}" + state: restarted + + - name: Verify Nextcloud version and status + command: "{{ php_cli }} occ status" + args: + chdir: "{{ nextcloud_dir }}" + become_user: "{{ web_user }}" + register: occ_status + + - name: Display Nextcloud version info + debug: + var: occ_status.stdout