# Role : docker_nextcloud ## Services fournis - main.yml : Installation de nextcloud sur un serveur docker_host ## Variables Fournir les variables suivantes. Par exemple : ```yaml docker_nextcloud_fqdn: nextcloud.example.com docker_nextcloud_version: 23.0.3-apache docker_nextcloud_data_dir: /data1 docker_nextcloud_service_id: nextcloud docker_nextcloud_db: nextcloud docker_nextcloud_db_user: nextcloud docker_nextcloud_db_password: motdepassebdd docker_nextcloud_smtp_host: smtp.example.com docker_nextcloud_php_ini: php_upload_max_filesize = 512M php_post_max_size = 512M php_max_execution_time = 200 php_memory_limit = 1024M ``` | Option | Valeur par défaut | Description | |-----------------------------------|-------------------|------------------------------------------------------------------------------------------------------------------| | docker_nextcloud_fqdn | | Le fqdn pour accéder à nextcloud | | docker_nextcloud_version | | Version de l'image nextcloud | | docker_nextcloud_data_dir | | L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service | | docker_nextcloud_service_id | | Le nom de service souhaité : conditionne le nommage des dossiers et le routage par traefik | | docker_nextcloud_db | | Le nom de la base de données | | docker_nextcloud_db_user | | Le nom du user propriétaire de la base de données | | docker_nextcloud_db_password | | Le mot de passe du user propriétaire de la base de données | | docker_nextcloud_smtp_host | | FQDN du serveur smtp pour l'envoi de mails par nextcloud | | docker_nextcloud_php_ini | | Une liste de variables d'environnement pour la configuration de healtchecks | | docker_nextcloud_custom_volumes | | Si défini, liste de dictionnaires (volume, target) permettant d'ajouter des volumes spécifiques a docker-compose | | docker_nextcloud_healthchecks_url | | Si définie, cette url est appelée par la tâche en crontab pour notifier healthchecks | | docker_nextcloud_trusted_proxies | | Si définie, reverse proxies en lesquels nextcloud peut avoir confiance | ## Configuration de nextcloud ### Premier démarrage * Créer un compte administrateur de l'instance Nextcloud * Accepter la proposition d'applications par défaut * Aller dans le profil de l'administrateur et lui attribuer une adresse email * Dans la section "vie privée", paramétrer la localisation * Dans le fichier config.php, envisager les paramètres suivants : ``` 'default_language' => 'fr', 'default_locale' => 'fr_FR' ``` * Dans la section "Paramètres de base/tâches d'arrière plan" configurer "cron" * Dans la section "Paramètres de base", configurer le serveur SMTP, l'adresse d'expédition, l'authentification sasl et tester un envoi ### Configuration LDAP * Ajouter l'application "LDAP user and group backend" * Dans les paramètres d'administration / Intégration LDAP. Il pourra être nécessaire de quitter et revenir dans la configuration pour que les tests fonctionnent. * Configurer le serveur et l'authentification auprès de ce dernier avec un compte de service dédié, le dn de base, et passer à l'onglet utilisateur * Dans l'onglet utilisateur, configurer le filtre de recherche des utilisateurs et cliquer "vérifier et compter les utilisateurs" pour s'assurer de la validité du filtre (exemple avec un groupe pour filtrer les utilisateurs autorisés : (&(objectClass=inetOrgPerson)(memberOf=cn=nextcloud-users,ou=groups,dc=example,dc=com)) * Passer en mode avancé pour configurer l'attribut du nom d'affichage (par exemple : cn), le dn de base des utilisateurs et des groupes (par exemple ou=users,dc=example,dc=com et ou=groups,dc=example,dc=com) et l'attribut d'association groupe-membre (par exemple : uniqueMember) * Dans l'onglet attributs de login, configurer le filtre permettant de déterminer l'attribut login utilisateur (par exemple : uid=%uid) * Dans l'onglet groupes, configurer le filtre de recherche des groupes (par exemple : objectClass=posixGroup) * Eventuellement, passer en mode avancé pour configurer l'attribut de Quota, l'attribut de mail... * Tester l'intégration par un login d'utilisateur * Retourner dans les paramètres d'administration / privilèges d'administration, et paramétrer le ou les groupes ldap pouvant donner des droits particuliers * Dans la section "vue d'ensemble", éventuellement un groupe ldap des administrateurs