summaryrefslogtreecommitdiff
path: root/roles/elevate/media/tasks/nextcloud-config.yml
blob: 2a3c8074c41b7bd8e9f7421dadf8fd736f1ab47e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
---
  # TODO: fix idempotence
- name: set up permission for external storage
  command: docker exec -u root nextcloud.service bash -c "chown root:www-data /srv/external && chmod 02775 /srv/external"
  changed_when: false


  ## TODO: this is idempotent but flagging change would be nice
- name: set up permission for external storage
  command: docker exec -u www-data nextcloud.service /var/www/html/occ app:enable files_external
  changed_when: false


- name: check if elevate group exists in nextcloud (1/2)
  command: docker exec -u www-data nextcloud.service /var/www/html/occ group:list -n --output=json
  register: nextcloud_group_list
  changed_when: false

- name: check if elevate group exists in nextcloud (2/2)
  set_fact:
    nextcloud_group_list: "{{ nextcloud_group_list.stdout | from_json }}"

- name: create group elevate group in nextcloud
  command: docker exec -u www-data nextcloud.service /var/www/html/occ group:add -n elevate
  when: '"elevate" not in nextcloud_group_list'


- name: check if external storage is configured in nextcloud (1/2)
  command: docker exec -u www-data nextcloud.service /var/www/html/occ files_external:list -n --output=json
  register: nextcloud_files_external_list
  changed_when: false

- name: check if external storage is configured in nextcloud (2/2)
  set_fact:
    nextcloud_files_external_list: "{{ nextcloud_files_external_list.stdout | from_json }}"

- name: configure external storage in nextcloud
  command: docker exec -u www-data nextcloud.service /var/www/html/occ files_external:create -n --output=json --config="datadir=/srv/external" Fileserver local null::null
  when: not (nextcloud_files_external_list | nextcloud_mountpoint_exists('/Fileserver'))

  ## TODO: this is idempotent but flagging change would be nice
- name: set up permission for external storage
  command: docker exec -u www-data nextcloud.service /var/www/html/occ files_external:applicable -n --output=json 1 --add-group=elevate
  changed_when: false

  ## TODO: this is idempotent but flagging change would be nice
- name: set up background tasks trigger to cron
  command: docker exec -u www-data nextcloud.service /var/www/html/occ background:cron
  changed_when: false