- name: Compose up on webserver stack ansible.builtin.command: "docker-compose up -d" args: chdir: "{{ webserver_root }}" listen: composeup_webserver notify: install_nextcloud - name: Grab Nextcloud container information docker_container_info: name: "{{ webserver_root | basename }}_nextcloud_1" listen: install_nextcloud register: nextcloud_info - name: Check Nextcloud status ansible.builtin.command: "docker exec --user www-data {{ webserver_root | basename }}_nextcloud_1 php occ status" listen: install_nextcloud register: nextcloud_status - name: Install Nextcloud ansible.builtin.command: 'docker exec --user www-data {{ webserver_root | basename }}_nextcloud_1 php occ maintenance:install --database "mysql" --database-host "{{ webserver.NEXTCLOUD_MYSQL_HOST | default("host.docker.internal") }}" --database-name "{{ webserver.NEXTCLOUD_MYSQL_DATABASE | default("nextcloud") }}" --database-user "{{ webserver.NEXTCLOUD_MYSQL_USER | default("nextcloud") }}" --database-pass "{{ webserver.NEXTCLOUD_MYSQL_PASSWORD }}" --admin-user "{{ webserver.NEXTCLOUD_ADMIN | default("admin") }}" --admin-pass "{{ webserver.NEXTCLOUD_ADMIN_PASSWORD }}"' register: nextcloud_install listen: install_nextcloud when: - nextcloud_status.stdout[:26] == "Nextcloud is not installed" - nextcloud_install is defined and nextcloud_install - name: Set Nextcloud's Trusted Proxy command: 'docker exec --user www-data {{ webserver_root | basename }}_nextcloud_1 php occ config:system:set trusted_proxies 0 --value="traefik"' listen: install_nextcloud when: nextcloud_install.changed - name: Set Nextcloud's Trusted Domain command: 'docker exec --user www-data {{ webserver_root | basename }}_nextcloud_1 php occ config:system:set trusted_domains 0 --value="{{ webserver.NEXTCLOUD_DOMAIN }}"' listen: install_nextcloud when: nextcloud_install.changed - name: Preform Nextcloud database maintenance command: "docker exec --user www-data {{ webserver_root | basename }}_nextcloud_1 {{ item }}" loop: - "php occ maintenance:mode --on" - "php occ db:add-missing-indices" - "php occ db:convert-filecache-bigint" - "php occ maintenance:mode --off" listen: install_nextcloud when: nextcloud_install.changed - name: Restart MariaDB ansible.builtin.service: name: mariadb state: restarted listen: restart_mariadb