diff --git a/README.md b/README.md index 32e21d4..6a31a00 100644 --- a/README.md +++ b/README.md @@ -32,28 +32,36 @@ docker_ldapmanager_mail_subject: Votre compte a été créé docker_ldapmanager_mail_body: Corps du message ``` -| Option | Valeur par défaut | Description | -|-----------------------------------------------------|-------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------| -| docker_ldapmanager_fqdn | | Le nom de domaine pour lequel le service ldapmanager répond | -| docker_ldapmanager_data_dir | | L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service | -| docker_ldapmanager_service_id | | Le nom de service souhaité : conditionne le nommage des volumes et le routage par traefik | -| docker_ldapmanager_ldap_server | | Adresse du serveur LDAP | -| docker_ldapmanager_ldap_basedn | | DN de la racine | -| docker_ldapmanager_ldap_binddn | | DN du compte de service de connexion à l'annuaire LDAP | -| docker_ldapmanager_ldap_bindpwd | | Mot de passe du compte de service de connexion à l'annuaire LDAP | -| docker_ldapmanager_ldap_users_ou | | Nom de l'OU contenant les utilisateurs | -| docker_ldapmanager_ldap_group_admin | | Nom du groupe des administrateurs de ldapmanager | -| docker_ldapmanager_ldap_groups_ou | | Nom de l'OU contenant les les groupes | -| docker_ldapmanager_email_domain | | Suffixe des adresses mail du domaine | -| docker_ldapmanager_organisation_name | | Nom de l'entité gérant l'annuaire LDAP - apparait dans le titre de l'application | -| docker_ldapmanager_site_name | | Nom du site - apparait dans le titre de l'application | -| docker_ldapmanager_username_format | {first_name}.{last_name} | Format par défaut pour proposer un login | -| docker_ldapmanager_account_additional_objectclasses | PostfixBookMailAccount,ownCloud | Objectclasses supplémentaires dont hérite chaque utilisateur | -| docker_ldapmanager_account_additional_attributes | registeredAddress:Adresse de récupération,mailAlias:mail Alias,mailQuota:mail Quota,ownCloudQuota:nextCloud Quota | Attributs supplémentaires a présenter dans l'interface des comptes utilisateurs | -| docker_ldapmanager_mail_server | | Adresse du serveur smtp | -| docker_ldapmanager_mail_from_address | | Adresse mail émettrice des notifications | -| docker_ldapmanager_mail_from_name | | Nom associé à l'adresse mail émettrice des notifications | -| docker_ldapmanager_mail_subject | | Titre des mails de notification | -| docker_ldapmanager_mail_body | | Contenu des mails de notification (cf. doc ldap-user-manager pour macros et format | +| Option | Valeur par défaut | Description | +|-----------------------------------------------------|-------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------| +| docker_ldapmanager_fqdn | | Le nom de domaine pour lequel le service ldapmanager répond | +| docker_ldapmanager_data_dir | | L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service | +| docker_ldapmanager_service_id | | Le nom de service souhaité : conditionne le nommage des volumes et le routage par traefik | +| docker_ldapmanager_ldap_server | | Adresse du serveur LDAP | +| docker_ldapmanager_ldap_basedn | | DN de la racine | +| docker_ldapmanager_ldap_binddn | | DN du compte de service de connexion à l'annuaire LDAP | +| docker_ldapmanager_ldap_bindpwd | | Mot de passe du compte de service de connexion à l'annuaire LDAP | +| docker_ldapmanager_ldap_users_ou | | Nom de l'OU contenant les utilisateurs | +| docker_ldapmanager_ldap_group_admin | | Nom du groupe des administrateurs de ldapmanager | +| docker_ldapmanager_ldap_groups_ou | | Nom de l'OU contenant les les groupes | +| docker_ldapmanager_email_domain | | Suffixe des adresses mail du domaine | +| docker_ldapmanager_organisation_name | | Nom de l'entité gérant l'annuaire LDAP - apparait dans le titre de l'application | +| docker_ldapmanager_site_name | | Nom du site - apparait dans le titre de l'application | +| docker_ldapmanager_username_format | {first_name}.{last_name} | Format par défaut pour proposer un login | +| docker_ldapmanager_mail_server | | Adresse du serveur smtp | +| docker_ldapmanager_mail_from_address | | Adresse mail émettrice des notifications | +| docker_ldapmanager_mail_from_name | | Nom associé à l'adresse mail émettrice des notifications | +| docker_ldapmanager_mail_subject | | Titre des mails de notification | +| docker_ldapmanager_mail_body | | Contenu des mails de notification (cf. doc ldap-user-manager pour macros et format | +| docker_ldapmanager_account_additional_objectclasses | | Si défini, ces objectclasses sont ajoutés aux objets des comptes d'utilisateurs, par exemple : "PostfixBookMailAccount,ownCloud" | +| docker_ldapmanager_account_additional_attributes | | Si défini, ces attributs sont proposés à la saisie dans ldapmanager, par exemple "mailQuota:mail Quota,ownCloudQuota:nextCloud Quota" | + + +# Premier démarrage + +Cette méthode part de l'hypothèse que l'annuaire LDAP est créé vierge à partir du rôle docker_openldap. + +* Vider l'annuaire de tous les objets à part la racine et la branche policies. +* Lancer le setup de ldapman (url /setup). Ldapmanager va créer l'arborescence et les objets nécessaires et un compte d'administration. diff --git a/defaults/main.yml b/defaults/main.yml index e814620..f3acf95 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,3 +1,2 @@ docker_ldapmanager_username_format: "{first_name}.{last_name}" -docker_ldapmanager_account_additional_objectclasses: "PostfixBookMailAccount,ownCloud" -docker_ldapmanager_account_additional_attributes: "registeredAddress:Adresse de récupération,mailAlias:mail Alias,mailQuota:mail Quota,ownCloudQuota:nextCloud Quota" +docker_ldapmanager_ignore_cert_errors: "false" diff --git a/templates/docker-compose.yml b/templates/docker-compose.yml index 924fcba..f39d124 100644 --- a/templates/docker-compose.yml +++ b/templates/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.1' services: ldapman: - image: wheelybird/ldap-user-manager:v1.8 + image: wheelybird/ldap-user-manager:{{ docker_ldapmanager_version }} env_file: - ldapmanager.env restart: always @@ -10,7 +10,7 @@ services: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - ./php.ini:/usr/local/etc/php/php.ini - - ./new_user.php:/opt/ldap_user_manager/account_manager/new_user.php +# - ./new_user.php:/opt/ldap_user_manager/account_manager/new_user.php labels: - "traefik.enable=true" - "traefik.docker.network=traefik" diff --git a/templates/ldapmanager.env b/templates/ldapmanager.env index c736bb1..d601aee 100644 --- a/templates/ldapmanager.env +++ b/templates/ldapmanager.env @@ -1,21 +1,26 @@ SERVER_HOSTNAME={{ docker_ldapmanager_fqdn }} -LDAP_URI=ldap://{{ docker_ldapmanager_ldap_server }} +LDAP_URI={{ docker_ldapmanager_ldap_uri }} LDAP_BASE_DN={{ docker_ldapmanager_ldap_basedn }} LDAP_REQUIRE_STARTTLS=false LDAP_ADMINS_GROUP={{ docker_ldapmanager_ldap_group_admin }} LDAP_ADMIN_BIND_DN={{ docker_ldapmanager_ldap_binddn }} LDAP_ADMIN_BIND_PWD={{ docker_ldapmanager_ldap_bindpwd }} -LDAP_IGNORE_CERT_ERRORS=true +LDAP_IGNORE_CERT_ERRORS={{ docker_ldapmanager_ignore_cert_errors }} EMAIL_DOMAIN={{ docker_ldapmanager_email_domain }} ORGANISATION_NAME={{ docker_ldapmanager_organisation_name }} SITE_NAME={{ docker_ldapmanager_site_name }} LDAP_USER_OU={{ docker_ldapmanager_ldap_users_ou }} LDAP_GROUP_OU={{ docker_ldapmanager_ldap_groups_ou }} +PASSWORD_HASH=SSHA NO_HTTPS=true USERNAME_FORMAT={{ docker_ldapmanager_username_format }} ENFORCE_SAFE_SYSTEM_NAMES=false +{% if docker_ldapmanager_account_additional_objectclasses is defined %} LDAP_ACCOUNT_ADDITIONAL_OBJECTCLASSES={{ docker_ldapmanager_account_additional_objectclasses }} +{% endif %} +{% if docker_ldapmanager_account_additional_attributes is defined %} LDAP_ACCOUNT_ADDITIONAL_ATTRIBUTES={{ docker_ldapmanager_account_additional_attributes }} +{% endif %} SMTP_HOSTNAME={{ docker_ldapmanager_mail_server }} SMTP_USERNAME={{ docker_ldapmanager_mail_login }} SMTP_PASSWORD={{ docker_ldapmanager_mail_password }}