--- - name: Exiger les secrets Nextcloud (Vault) ansible.builtin.assert: that: - serveur_nextcloud_admin_password | length > 0 - (not (serveur_nextcloud_oidc_actif | bool)) or (serveur_nextcloud_oidc_client_secret | length > 0) fail_msg: "vault_nextcloud_admin (et vault_nextcloud_oidc si OIDC actif) sont requis (Ansible Vault)." - name: Resoudre la base de donnees depuis le registre (role partage) ansible.builtin.include_role: name: resoudre_base vars: resoudre_base_groupe: "{{ serveur_nextcloud_groupe }}" - name: Adopter les facts de base pour Nextcloud ansible.builtin.set_fact: serveur_nextcloud_db_password: "{{ resoudre_base_db_password }}" serveur_nextcloud_db_host: "{{ resoudre_base_db_host }}" serveur_nextcloud_db_port: "{{ resoudre_base_db_port }}" no_log: true - name: Paquets (PHP-FPM + extensions, nginx, redis) ansible.builtin.import_tasks: paquets.yml - name: PHP (tuning 512M + TLS PG pour php-fpm) ansible.builtin.import_tasks: php.yml - name: Installation Nextcloud (tarball + occ maintenance:install) ansible.builtin.import_tasks: installer.yml - name: Exposition (vhost nginx local, MIME .mjs) ansible.builtin.import_tasks: exposition.yml - name: Configuration (trusted_proxies, overwrite, redis, CA, anti-SSRF) ansible.builtin.import_tasks: configurer.yml - name: SSO OIDC (Keycloak, app user_oidc) ansible.builtin.import_tasks: oidc.yml when: serveur_nextcloud_oidc_actif | bool - name: Collabora / Office (app richdocuments, WOPI) ansible.builtin.import_tasks: collabora.yml when: serveur_nextcloud_office_actif | bool - name: Identite visuelle Alliance Boreale (theme + ciel etoile) ansible.builtin.import_tasks: theme.yml when: serveur_nextcloud_branding | bool