2 - name: clean nextcloud restore dir content
4 path: "{{ nextcloud_tmp_path }}"
7 - name: recreate nextcloud restore dir
9 path: "{{ nextcloud_tmp_path }}"
12 - name: Copy the file from ansible controller to vm host
15 dest: "{{ nextcloud_data_path }}"
17 - "{{ nextcloud_tmp_path }}/dump.sql"
18 - "{{ nextcloud_tmp_path }}/data.tgz"
19 - "{{ nextcloud_tmp_path }}/config.php"
21 - name: Extract nc data archive
22 ansible.builtin.unarchive:
23 src: "{{ nextcloud_data_tmp }}"
24 dest: "{{ nextcloud_data_path }}"
26 - name: stop webserver service
29 ansible.builtin.service:
30 name: "{{ nextcloud_websrv }}"
33 - name: restore psql dump
35 become_user: "{{ nextcloud_websrv_user }}"
36 command: "pg_restore -F c -O -d {{ nextcloud_db_name }} {{ nextcloud_tmp_path }}/dump.sql"
38 - name: copy config.php over from old instance
39 become_user: "{{ nextcloud_websrv_user }}"
42 src: "{{ nextcloud_data_tmp }}/config/config.php"
43 dest: "{{ nextcloud_webroot }}/config/config.php"
44 remote_src: yes #because the config file is already in the nextcloud_tmp_path
45 owner: "{{ nextcloud_websrv_user }}"
46 group: "{{ nextcloud_websrv_user }}"
47 mode: '640' #or u=rwx,g=r,o=
49 - name: update nextcloud root dir symbolic link
50 become_user: "{{ nextcloud_websrv_user }}"
53 src: "{{ nextcloud_files_path }}/nextcloud-{{ nextcloud_version }}"
54 dest: "{{ nextcloud_webroot }}/nextcloud"
55 owner: "{{ nextcloud_websrv_user }}"
56 group: "{{ nextcloud_websrv_user }}"
59 - name: deactivate nextcloud maintenance mode
60 become_user: "{{ nextcloud_websrv_user }}"
62 command: './console maintenance:mode --off'
64 chdir: "{{ nextcloud_webroot }}"
66 - name: Run occ upgrade
67 become_user: "{{ nextcloud_websrv_user }}"
69 command: './console upgrade'
71 chdir: "{{ nextcloud_webroot }}"
72 register: nc_upgrade_result
74 - name: display upgrade result
76 var: nc_upgrade_result.stdout_lines
78 - name: wait for upgrade to complete
80 - name: wait for nextcloud maintenance mode to become false
81 become_user: "{{ nextcloud_websrv_user }}"
83 command: php occ status
85 chdir: "{{ nextcloud_webroot }}"
87 until: "'maintenance: false' in result.stdout"
91 - name: deactivate maintenance mode manually
92 become_user: "{{ nextcloud_websrv_user }}"
94 command: php occ maintenance:mode --off
96 - name: display rescue
98 var: rescue.stdout_lines
100 - name: launch post-upgrade cleaning scripts
102 - name: launch some occ cleaning command
103 become_user: "{{ nextcloud_websrv_user }}"
105 command: "php occ {{ command }}"
107 chdir: "{{ nextcloud_webroot }}"
109 - db:add-missing-columns
110 - db:add-missing-indices
111 - db:add-missing-primary-keys
112 - dav:remove-invalid-shares
117 register: nc_indices_cmd
119 - name: display each occ commands result
121 msg: "{{ item.stdout_lines }}"
122 loop: "{{ nc_indices_cmd.results }}"
124 label: "{{ item.command }}"
125 when: "'Nextcloud is already latest version' not in nc_upgrade_result.stdout_lines"
127 - name: start webserver service
130 ansible.builtin.service:
131 name: "{{ nextcloud_websrv }}"