No description
Find a file
2024-08-16 15:28:09 +02:00
defaults Commit initial 2022-08-05 15:29:05 +02:00
handlers Correction handler docker compose 2023-12-10 18:31:02 +01:00
meta Ajout des metadonnees pour ansible-galaxy 2022-08-05 17:21:49 +02:00
tasks Prise en compte de la configuration de la crontab 2024-01-14 20:43:37 +01:00
templates SMTP_HOST défini si docker_nextcloud_smtp_host défini 2024-08-16 15:28:09 +02:00
README.md Ajout de docker_nextcloud_trusted_proxies 2024-01-24 20:35:27 +01:00

Role : docker_nextcloud

Services fournis

  • main.yml : Installation de nextcloud sur un serveur docker_host

Variables

Fournir les variables suivantes. Par exemple :

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