2 # - name: Clean nextcloud restore dir content
3 # become_user: "{{ nextcloud_websrv_user }}"
5 # ansible.builtin.file:
9 # - "{{ nextcloud_tmp_path }}"
10 # - "{{ nextcloud_webroot }}/data"
12 - name: Recreate nextcloud restore dir # necessite le paquet acl installé
13 become_user: "{{ nextcloud_websrv_user }}"
19 - "{{ nextcloud_tmp_path }}"
20 - "{{ nextcloud_webroot }}/data"
22 # - name: Copy files from ansible controller to vm host
23 # become_user: "{{ nextcloud_websrv_user }}"
25 # ansible.builtin.copy:
26 # src: "{{ nextcloud_tmp_path }}/"
27 # dest: "{{ nextcloud_tmp_path }}/"
29 # - name: Extract nc data archive
30 # become_user: "{{ nextcloud_websrv_user }}"
32 # ansible.builtin.unarchive:
33 # src: "{{ nextcloud_tmp_path }}/data.tar.gz"
34 # dest: "{{ nextcloud_webroot }}/data"
36 - name: Stop webserver service
39 ansible.builtin.service:
40 name: "{{ nextcloud_websrv }}"
43 - name: "[PostgreSQL] - {{ nextcloud_websrv_user }} role is created."
46 community.postgresql.postgresql_user:
47 name: "{{ nextcloud_websrv_user }}"
49 role_attr_flags: CREATEDB
51 - name: "[PostgreSQL] - {{ nextcloud_db_name }} database is created."
54 community.postgresql.postgresql_db:
55 name: "{{ nextcloud_db_name }}"
57 owner: "{{ nextcloud_websrv_user }}"
58 target: "{{ nextcloud_tmp_path }}/dump.sql"
64 # - name: Restore psql dump # noqa : command-instead-of-module
66 # become_user: postgres
67 # ansible.builtin.command: "pg_restore -c -F c -O -x -d {{ nextcloud_db_name }} {{ nextcloud_tmp_path }}/dump.pgc"
69 - name: Update data fingerprint post db restore # noqa : command-instead-of-module
70 become_user: "{{ nextcloud_websrv_user }}"
72 ansible.builtin.command: './console maintenance:data-fingerprint'
74 chdir: "{{ nextcloud_webroot }}"
76 - name: create nextcloud config
77 become_user: "{{ nextcloud_websrv_user }}"
79 ansible.builtin.template:
80 src: templates/config_template.j2
81 dest: "{{ nextcloud_webroot }}/config/config.php"
82 owner: "{{ nextcloud_websrv_user }}"
83 group: "{{ nextcloud_websrv_user }}"
84 mode: '640' # or u=rwx,g=r,o=
86 - name: Deactivate nextcloud maintenance mode # noqa : command-instead-of-module
87 become_user: "{{ nextcloud_websrv_user }}"
89 ansible.builtin.command: './console maintenance:mode --off'
91 chdir: "{{ nextcloud_webroot }}"
93 - name: Update nextcloud root dir symbolic link
94 become_user: "{{ nextcloud_websrv_user }}"
97 src: "{{ nextcloud_source }}"
98 dest: "{{ nextcloud_webroot }}/nextcloud"
99 owner: "{{ nextcloud_websrv_user }}"
100 group: "{{ nextcloud_websrv_user }}"
104 - name: Update nextcloud common app dir symbolic link
105 become_user: "{{ nextcloud_websrv_user }}"
107 ansible.builtin.file:
108 src: "{{ nextcloud_common }}"
109 dest: "{{ nextcloud_webroot }}/common"
110 owner: "{{ nextcloud_websrv_user }}"
111 group: "{{ nextcloud_websrv_user }}"
115 - name: Start webserver service
117 ansible.builtin.service:
118 name: "{{ nextcloud_websrv }}"
121 - name: Run occ upgrade # noqa : command-instead-of-module
122 become_user: "{{ nextcloud_websrv_user }}"
124 ansible.builtin.command: './console upgrade'
126 chdir: "{{ nextcloud_webroot }}"
127 register: nc_upgrade_result
129 - name: Display upgrade result
130 ansible.builtin.debug:
131 var: nc_upgrade_result.stdout_lines
133 - name: Wait for upgrade to complete
136 - name: Wait for nextcloud maintenance mode to become false # noqa : command-instead-of-module
137 become_user: "{{ nextcloud_websrv_user }}"
139 ansible.builtin.command: './console status'
141 chdir: "{{ nextcloud_webroot }}"
143 until: "'maintenance: false' in result.stdout"
149 - name: Deactivate maintenance mode manually # noqa : command-instead-of-module
150 become_user: "{{ nextcloud_websrv_user }}"
152 ansible.builtin.command: './console maintenance:mode --off'
154 chdir: "{{ nextcloud_webroot }}"
157 - name: Display rescue
158 ansible.builtin.debug:
159 var: rescue.stdout_lines
161 - name: Launch post-upgrade cleaning scripts
162 when: "'Nextcloud is already latest version' not in nc_upgrade_result.stdout_lines"
165 - name: Launch some occ cleaning command
166 become_user: "{{ nextcloud_websrv_user }}"
168 ansible.builtin.command: "./console { command }}"
170 chdir: "{{ nextcloud_webroot }}"
172 - db:add-missing-columns
173 - db:add-missing-indices
174 - db:add-missing-primary-keys
175 - dav:remove-invalid-shares
180 register: nc_indices_cmd
182 - name: Display each occ commands result
183 ansible.builtin.debug:
184 msg: "{{ item.stdout_lines }}"
185 loop: "{{ nc_indices_cmd.results }}"
187 label: "{{ item.command }}"