1fd5315ee3817eee6e76aae3f359f4afc4778f34
[lhc/ansible.git] / tasks / restore_nextcloud.yml
1 - name: Active le mode maintenance # noqa : command-instead-of-module
2 become_user: "{{ nextcloud_php_user }}"
3 become: true
4 ansible.builtin.command: './console maintenance:mode --on'
5 args:
6 chdir: "{{ nextcloud_webroot }}"
7
8 - name: Update nextcloud root dir symbolic link
9 become: true
10 ansible.builtin.file:
11 src: "../../../nextcloud/sources/nextcloud-{{ ancienne_version }}"
12 dest: "{{ nextcloud_webroot }}/nextcloud"
13 owner: nextcloud
14 group: nextcloud
15 state: link
16 follow: false
17
18 - name: Update nextcloud common app dir symbolic link
19 become: true
20 ansible.builtin.file:
21 src: "../../../nextcloud/sources/nextcloud-{{ ancienne_version }}"
22 dest: "{{ nextcloud_webroot }}/common"
23 owner: nextcloud
24 group: nextcloud
25 state: link
26 follow: false
27
28 - name: "[PostgreSQL] - {{ nextcloud_db_name }} database is created."
29 become_user: postgres
30 become: true
31 community.postgresql.postgresql_db:
32 name: "{{ nextcloud_db_name }}"
33 state: "{{ item }}"
34 owner: "{{ nextcloud_php_user }}"
35 target: "/tmp/dump.pgc"
36 target_opts: "-F c"
37 loop:
38 - absent
39 - present
40 - restore
41
42 - name: Pour chaque base, ajouter les droits suivants à l'utilisateur php
43 become_user: postgres
44 become: true
45 community.postgresql.postgresql_privs:
46 db: "{{ item.db }}"
47 privs: "{{ item.privs }}"
48 type: "{{ item.type |default(omit) }}"
49 objs: "{{ item.objs }}"
50 role: "{{ item.role }}"
51 grant_option: "{{ item.grant_option |default(omit) }}"
52 loop_control:
53 label: "{{ item.name }}"
54 loop:
55 - db: "{{ nextcloud_db_name }}"
56 privs: "ALL"
57 type: "schema"
58 objs: "public"
59 role: "{{ nextcloud_php_user }}"
60 grant_option: true
61 name: "GRANT ALL ON SCHEMA public TO php_{{ SIGLE }}_nuage WITH GRANT OPTION;"
62
63 - name: Copy nextcloud config file
64 become: true
65 ansible.builtin.copy:
66 src: "{{ nextcloud_webroot }}/config/config.php.bak"
67 dest: "{{ nextcloud_webroot }}/config/config.php"
68 remote_src: true # because the src is already on the remote host
69 owner: "{{ nextcloud_php_user }}"
70 group: "{{ nextcloud_websrv_user }}"
71 mode: '640'
72
73 - name: Desactive le mode maintenance # noqa : command-instead-of-module
74 become_user: "{{ nextcloud_php_user }}"
75 become: true
76 ansible.builtin.command: './console maintenance:mode --off'
77 args:
78 chdir: "{{ nextcloud_webroot }}"
79
80 - name: Run nextcloud upgrade script # noqa : command-instead-of-module
81 become_user: "{{ nextcloud_php_user }}"
82 become: true
83 ansible.builtin.command: ./console upgrade
84 args:
85 chdir: "{{ nextcloud_webroot }}"
86 register: nc_upgrade_result
87
88 - name: Obtenir la version actuelle # noqa : command-instead-of-module
89 become_user: "{{ nextcloud_php_user }}"
90 become: true
91 ansible.builtin.command: '{{ nextcloud_webroot }}/console status --output=json'
92 register: result
93
94 - name: afficher la version actuelle
95 ansible.builtin.debug:
96 msg: "La version restaurée est {{ tmp.versionstring }}"
97 vars:
98 tmp: "{{ result.stdout | from_json }}"