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.tar.gz"
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
52 src: "{{ nextcloud_source }}"
53 dest: "{{ nextcloud_webroot }}/nextcloud"
59 - name: update nextcloud common app dir symbolic link
62 src: "{{ nextcloud_common }}"
63 dest: "{{ nextcloud_webroot }}/common"
69 - name: deactivate nextcloud maintenance mode
70 become_user: "{{ nextcloud_websrv_user }}"
72 command: './console maintenance:mode --off'
74 chdir: "{{ nextcloud_webroot }}"
76 - name: start webserver service
78 ansible.builtin.service:
79 name: "{{ nextcloud_websrv }}"
82 - name: Run occ upgrade
83 become_user: "{{ nextcloud_websrv_user }}"
85 command: './console upgrade'
87 chdir: "{{ nextcloud_webroot }}"
88 register: nc_upgrade_result
90 - name: display upgrade result
92 var: nc_upgrade_result.stdout_lines
94 - name: wait for upgrade to complete
96 - name: wait for nextcloud maintenance mode to become false
97 become_user: "{{ nextcloud_websrv_user }}"
99 command: php occ status
101 chdir: "{{ nextcloud_webroot }}"
103 until: "'maintenance: false' in result.stdout"
107 - name: deactivate maintenance mode manually
108 become_user: "{{ nextcloud_websrv_user }}"
110 command: php occ maintenance:mode --off
112 - name: display rescue
114 var: rescue.stdout_lines
116 - name: launch post-upgrade cleaning scripts
118 - name: launch some occ cleaning command
119 become_user: "{{ nextcloud_websrv_user }}"
121 command: "php occ {{ command }}"
123 chdir: "{{ nextcloud_webroot }}"
125 - db:add-missing-columns
126 - db:add-missing-indices
127 - db:add-missing-primary-keys
128 - dav:remove-invalid-shares
133 register: nc_indices_cmd
135 - name: display each occ commands result
137 msg: "{{ item.stdout_lines }}"
138 loop: "{{ nc_indices_cmd.results }}"
140 label: "{{ item.command }}"
141 when: "'Nextcloud is already latest version' not in nc_upgrade_result.stdout_lines"