--- - name: Copy nextcloud docker files copy: src: nextcloud dest: "{{docker_compose_files_folder}}" - name: Create db.env template: src: nextcloud/db.env dest: "{{docker_compose_files_folder}}/nextcloud/db.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: http group: http recurse: yes - name: Build and start nextcloud docker project docker_service: project_src: "{{docker_compose_files_folder}}/nextcloud" build: yes state: present - name: Check if database tables exist command: docker-compose exec -T db mysql -u nextcloud -p{{nextcloud_mysql_password}} nextcloud -e "show tables;" args: chdir: "{{docker_compose_files_folder}}/nextcloud/" register: db_tables_exist ignore_errors: true changed_when: db_tables_exist.stdout_lines|length == 0 - name: Restore Nextcloud database command: docker-compose exec -T db sh -c "mysql -u nextcloud -p{{nextcloud_mysql_password}} nextcloud < /backups/database.dmp" args: chdir: "{{docker_compose_files_folder}}/nextcloud/" when: db_tables_exist.stdout_lines|length == 0