====== L'architecture ====== ===== Conteneurs MTA et MDA ===== Le serveur de mail est réparti dans deux conteneurs Docker, un pour le [[technique:old:etudes:mail:serveurs_de_mail:mta|MTA]], et un autre pour le [[technique:old:etudes:mail:serveurs_de_mail:mda|MDA]]. Cela permet une plus grande modularité du service, comme de les déplacer d'un serveur à l'autre, par exemple. Après [[technique:old:etudes:mail:serveurs_de_mail:comparaison|comparaison]] des différents logiciels existant, Postfix a été retenu pour le MTA et Dovecot pour le MDA. Ces deux conteneurs ont besoin de communiquer entre eux avec le protocole [[technique:old:etudes:mail:protocoles:lmtp|LMTP]], la liaison entre eux est assurée par un docker [[technique:docker:general:network|network]] (actuellement un bridge). ===== Stockage des boîtes mail ===== Le stockage se fait dans un [[technique:docker:general:volumes|Docker Volume]] qui assure la persistance des données des conteneurs Docker. Ces données sont stockées au format //maildir//((voir [[technique:adminsys:mail:archi:stockage_des_mails|ici]] pour plus d'explications)). ===== Clés et certificats ===== Nous avons besoin de deux paires de clés qui doivent résister à la suppression des conteneurs: les clés DKIM et les certificats SSL. Les clés [[technique:adminsys:mail:config:dkim|DKIM]] sont générées manuellement une seule fois puis stockées dans un répertoire qu'on rend accessible au MTA. Les clés SSL sont susceptibles de changer. Elles sont générées automatiquement par traefik. On utilise les labels des conteneurs pour faire croire à traefik qu'ils exposent du web; ensuite, le conteneur pica-mail-copy-certs va lire les certificats de traefik, extraire ceux du domaine du serveur de mail, les convertir dans un format lisible, puis les coller dans un volume accessible par le MDA et le MTA. [TLSCertsMonitor](https://gitlab.utc.fr/picasoft/projets/tls-cert-monitor) est utilisé pour récupérer les certificats générés par Traefik et les mettre à disposition des conteneurs du mail.