- Smarty 59.5%
- Dockerfile 15.8%
- Shell 14.3%
- Sieve 10.4%
|
|
||
|---|---|---|
| config | ||
| scripts | ||
| third-party | ||
| .pre-commit-config.yaml | ||
| docker-compose.yaml | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
docker-dovecot
Aperçu
Conteneurisation du serveur IMAP Dovecot https://dovecot.org/. Un serveur IMAP reçoit les mails d'un serveur LMTP, et les stocke, puis permet au clients de consulter leur mails.
Spam
Les mails reçus avec l'en-tête X-Spam: Yes, ajouté par l'anti-spam (C.F
docker-rspamd), sont classés dans le dossier Spam des utilisataires, par un script
sieve (config/sieve/spam.sieve) exécuté avant leurs propres filtres.
Pour entraîner l'anti-spam, les mails que les utilisataires déplacent ou copient dans le
dossier Spam lui sont signalés comme spams, et ceux qu'iels en retirent (sauf vers la
corbeille) comme légitimes. Ça passe par le plugin IMAPSieve, qui exécute les scripts
config/sieve/report-spam.sieve et config/sieve/report-ham.sieve, qui transmettent les
mails au contrôleur de rspamd (scripts/rspamd-learn.sh.tpl).
Variables d'environnement
Les variables d'environnement suivantes permettent de configurer Dovecot :
Général
- DOMAIN (pas de défaut, requis) : Le domaine mail principal géré par cette instance Dovecot. Les alias mails de domaines supplémentaires sont gérés en amont de la livraison via LMTP (par Postfix probablement).
Anti-spam
-
RSPAMD_CONTROLLER_URL (aucun défaut, requis) : URL du contrôleur de rspamd, sans
/final, par exemplehttp://rspamd:11334. -
RSPAMD_CONTROLLER_PASSWORD (aucun défaut, requis) : Mot de passe du contrôleur de rspamd (variable
CONTROLLER_PASSWORDdu container docker-rspamd).
LDAP
Dovecot authentifie les utilisataires et récupère la liste des boîtes mails via un
annuaire LDAP. Le schema collectivit-mail.schema dans le container docker-ldap
contient la définition des objets utilisés pour faire ça. Les paramètres suivants
permettent de configurer la connexion à l'annuaire LDAP :
-
LDAP_URI (aucun défaut, requis): URI du serveur LDAP à interroger pour l'authentification et la récupération des comptes mail.
-
LDAP_BIND_DN (aucun défaut, requis): Compte à utiliser pour interroger pour l'authentification et la récupération des comptes mail.
-
LDAP_BIND_PASSWORD (aucun défaut, requis): Mot de passe du compte à utiliser pour l'authentification et la récupération des comptes mail.
-
LDAP_BASE_DN (aucun défaut, requis): Racine de la recherche pour interroger pour l'authentification et la récupération des comptes mail.
OpenID
Dovecot est configuré pour pouvoir également authentifier les utilisataires avec
xoauth2. Ça permet au webmail (SOGo) d'authentifier les utilisataires sans transmettre
leur identifiant ou leur mot de passe, mais via un jeton OIDC qui est validé par Dovecot
auprès du fournisseur d'identité (LemonLDAP-NG). C.F le container docker-sogo et
https://doc.dovecot.org/2.3/configuration_manual/authentication/oauth2/.
- OIDC_INTROSPECTION_URL (requis): URL utilisée pour valider et récupérer les
informations utilisataires depuis un token OIDC, sous la forme :
https://<id-client>:<client-secret>/oidc-provider-introspection-url.