---
- name: Install requirements
  ansible.builtin.apt:
    name:
      - git
      - dialog
    state: present

- name: Test if Yunohost is already installed
  ansible.builtin.stat: path=/etc/yunohost/installed
  register: yunohost_file_install

- name: Download install script
  ansible.builtin.get_url:
    url: "{{ yunohost.install_script_url }}"
    dest: /tmp/install_yunohost.sh
    mode: 700
  when: yunohost_file_install.stat.exists == False

- name: Launch script
  ansible.builtin.command: /tmp/install_yunohost.sh -a
  when: yunohost_file_install.stat.exists == False

- name: Launch postinsstall
  ansible.builtin.shell: "
    yunohost tools postinstall \
      --domain {{ yunohost.domain }} \
      --password {{ yunohost.password }} \
      {% if yunohost.ignore_dyndns == True %} --ignore-dyndns {% endif %}
      "
  when: yunohost_file_install.stat.exists == False

- name: Create domains
  ansible.builtin.include: domains.yml
  when: yunohost.extra_domains

- name: Run diagnosis # Required to install certificates
  ansible.builtin.shell: yunohost diagnosis run

- name: Install certificates
  ansible.builtin.shell: yunohost domain cert-install
  changed_when: False

- name: Add users
  ansible.builtin.include: users.yml
  when: yunohost.users

- name: Add ssh for admin user
  ansible.builtin.include: admin_users.yml
  when: yunohost.admin_users is defined

- name: Install apps
  ansible.builtin.include: apps.yml
  when: yunohost.apps
