--- - name: Copy nextcloud docker files copy: src: nextcloud dest: "{{docker_compose_files_folder}}" - name: Create .env template: src: nextcloud/.env dest: "{{docker_compose_files_folder}}/nextcloud/.env" - name: Create nextcloud config template: src: nextcloud/config/{{item}} dest: "{{docker_compose_files_folder}}/nextcloud/config/{{item}}" with_items: - base.config.php - database.config.php - mail.config.php - name: Change config folder owner to http file: path: "{{docker_compose_files_folder}}/nextcloud/config" owner: "33" group: "33" recurse: yes - name: Build and start nextcloud docker project docker_compose: project_src: "{{docker_compose_files_folder}}/nextcloud" build: yes pull: yes state: present - name: Check if database tables exist command: docker-compose exec -T postgres psql -U nextcloud nextcloud -c "\dt" args: chdir: "{{docker_compose_files_folder}}/nextcloud/" register: db_tables_exist retries: 15 delay: 10 until: db_tables_exist is succeeded changed_when: no - name: Restore Nextcloud database command: docker-compose exec -T postgres sh -c "psql -U nextcloud nextcloud < /backups/database.dmp" args: chdir: "{{docker_compose_files_folder}}/nextcloud/" when: db_tables_exist.stdout_lines|length == 0