Conteunerisation du serveur IMAP Dovecot (consultation de boîtes mail).
  • Smarty 59.5%
  • Dockerfile 15.8%
  • Shell 14.3%
  • Sieve 10.4%
Find a file
2026-10-26 14:01:19 +01:00
config feat: call rspamd to train bayesian classifier with mail moved in / out of spam folder 2026-10-26 14:01:19 +01:00
scripts feat: call rspamd to train bayesian classifier with mail moved in / out of spam folder 2026-10-26 14:01:19 +01:00
third-party feat: call rspamd to train bayesian classifier with mail moved in / out of spam folder 2026-10-26 14:01:19 +01:00
.pre-commit-config.yaml feat: call rspamd to train bayesian classifier with mail moved in / out of spam folder 2026-10-26 14:01:19 +01:00
docker-compose.yaml feat: configure LDAP authentication 2026-08-27 12:22:06 +02:00
Dockerfile feat: call rspamd to train bayesian classifier with mail moved in / out of spam folder 2026-10-26 14:01:19 +01:00
LICENSE feat: configure basic Dovecot container 2026-08-23 17:02:15 +02:00
README.md feat: call rspamd to train bayesian classifier with mail moved in / out of spam folder 2026-10-26 14:01:19 +01:00

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 exemple http://rspamd:11334.

  • RSPAMD_CONTROLLER_PASSWORD (aucun défaut, requis) : Mot de passe du contrôleur de rspamd (variable CONTROLLER_PASSWORD du 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.