2026-07-05 15:00:39 -04:00
|
|
|
---
|
2026-08-07 15:33:32 -04:00
|
|
|
|
|
|
|
|
# L'URL PUBLIQUE de l'IdP se derive de l'exposition declaree au plan, elle ne se
|
|
|
|
|
# fabrique pas : `keycloak.<domaine>` n'est publie nulle part (voir resoudre_idp).
|
|
|
|
|
- name: Resoudre le fournisseur d'identite (role partage)
|
|
|
|
|
ansible.builtin.include_role:
|
|
|
|
|
name: resoudre_idp
|
|
|
|
|
vars:
|
|
|
|
|
resoudre_idp_realm: "{{ serveur_nextcloud_oidc_realm }}"
|
2026-07-05 15:00:39 -04:00
|
|
|
- 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
|