#SPDX-License-Identifier: MIT-0 --- # tasks file for nextcloud - name: Create docker compose directory file: path: "{{ nextcloud_docker_compose_dir }}" state: directory mode: '0755' - name: Create nextcloud data directory file: path: "{{ nextcloud_docker_volume_dir }}/data" state: directory mode: '0755' - name: Create postgres data directory file: path: "{{ nextcloud_docker_volume_dir }}/postgresql" state: directory mode: '0755' - name: Create docker-compose file for nextcloud template: src: docker-compose.yml.j2 dest: "{{ nextcloud_docker_compose_dir }}/docker-compose.yml" mode: '0644' - name: Create nginx template template: src: nginx.conf.j2 dest: "{{ nextcloud_docker_compose_dir }}/nginx.conf" mode: '0644' notify: Restart nginx container - name: Create database initialization script template: src: init-db.sql.j2 dest: "{{ nextcloud_docker_compose_dir }}/init-db.sql" mode: '0644' - name: Start nextcloud container community.docker.docker_compose_v2: project_src: "{{ nextcloud_docker_compose_dir }}" state: present - name: Wait for Nextcloud to be ready ansible.builtin.shell: cmd: docker compose exec -T nextcloud php /var/www/html/occ status --output=json chdir: "{{ nextcloud_docker_compose_dir }}" retries: 30 delay: 5 register: nextcloud_ready until: - nextcloud_ready.rc == 0 - (nextcloud_ready.stdout | from_json).installed == true changed_when: false - name: Install nextcloud plugins ansible.builtin.include_tasks: plugins.yml - name: Configure nextcloud collabora ansible.builtin.include_tasks: collabora.yml when: nextcloud_enable_collabora