04_admin.ymlΒΆ

---
- name: "πŸ”‘ Realign the administrator password with the declared one"
  ansible.builtin.command:
    argv:
      - bash
      - -c
      - "{{ lookup('file', lookup('path_absolute', 'roles/web-app-nextcloud/files/shell/realign_admin_password.sh')) }}"
      - realign_admin_password.sh
      - "{{ NEXTCLOUD_LOCAL_CID }}"
      - "{{ NEXTCLOUD_DOCKER_USER }}"
      - "{{ NEXTCLOUD_ADMINISTRATOR_USERNAME }}"
      - "{{ NEXTCLOUD_INTERNAL_OCC_COMMAND }}"
    stdin: "{{ NEXTCLOUD_ADMINISTRATOR_PASSWORD }}"
    expand_argument_vars: false
  register: _nextcloud_admin_password
  changed_when: _nextcloud_admin_password.stdout is search('\[CHANGED\]')
  failed_when: >-
    _nextcloud_admin_password.rc != 0
    or _nextcloud_admin_password.stdout is search('\[FAIL\]')
  no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"

- name: βœ… Ensure Nextcloud administrator is in the 'admin' group
  shell: >
    {{ NEXTCLOUD_DOCKER_EXEC }}
    php occ group:adduser admin {{ NEXTCLOUD_ADMINISTRATOR_USERNAME }}
  register: add_admin_to_group
  changed_when: "'Added user' in add_admin_to_group.stdout"
  failed_when: >
    (add_admin_to_group.rc != 0) and
    ("is already a member of" not in (
      (add_admin_to_group.stderr | default('')) ~ (add_admin_to_group.stdout | default(''))
    ))