- name: Include nextcloud variables include_vars: nextcloud.yml - name: Create nextcloud directory file: path: '/opt/nextcloud' state: directory owner: "{{ docker_user.name }}" mode: "{{ docker_compose_directory_mask }}" become: true - name: Install nextcloud compose file template: src: files/nextcloud/docker-compose.yml dest: "/opt/nextcloud/docker-compose.yml" mode: "{{ docker_compose_file_mask }}" owner: "{{ docker_user.name }}" validate: /usr/bin/docker-compose -f %s config register: compose_file become: true - name: Create nextcloud config directory file: path: '/opt/nextcloud/nextcloud/config' state: directory mode: "{{ docker_compose_directory_mask }}" become: true - name: Install nextcloud config template: src: files/nextcloud/config.php dest: "/opt/nextcloud/nextcloud/config/config.php" mode: "{{ docker_compose_file_mask }}" owner: "{{ docker_user.name }}" register: config_file become: true - name: Install nextcloud custom nginx config template: src: files/nextcloud/default.conf dest: "/opt/nextcloud/nextcloud/nginx-default.conf" mode: "{{ docker_compose_file_mask }}" owner: "{{ docker_user.name }}" register: nginx_config become: true - name: Cycle nextcloud container docker_compose: project_src: /opt/nextcloud pull: true remove_orphans: true remove_volumes: true state: "{{ item }}" when: compose_file.changed or config_file.changed or nginx_config.changed loop: - absent - present