72 lines
5.3 KiB
Markdown
72 lines
5.3 KiB
Markdown
# 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
|
|
|