Newer
Older
version: "3.7"
#attention, docker-compose préfixe le nom du réseau créé par le nom du projet (contenu dans le .env, sinon c'est le nom du dossier)
networks:
mail:
volumes:
mail-mda-maildir:
name: mail-mda-maildir
mail-mta-log:
name: mail-mta-log
services:
mail-mda:
image: registry.picasoft.net/pica-mail-mda
build: ./pica-mail-mda
container_name: pica-mail-mda
ports:
- "143:143"
- "993:993"
networks:
- mail
hostname: pica-mail-mda
volumes:
- mail-mda-maildir:/home
- /DATA/docker/mail/ssl/:/certs-ssl/:ro
environment:
LDAP_ADDRESS: ldap.picasoft.net
LDAP_NSS_CN: cn=mail,ou=Services,dc=picasoft,dc=net
LDAP_BASE: dc=picasoft,dc=net
USER_FILTER: (uid=%n)
PASSWORD_FILTER: (uid=%n)
env_file: ./secrets/mail.secrets
mail-mta:
image: registry.picasoft.net/pica-mail-mta
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
container_name: pica-mail-mta
ports:
- "25:25"
- "465:465"
- "587:587"
networks:
- mail
volumes:
- mail-mta-log:/var/log
#doit contenir selecteur.domaine.rsa
- /DATA/docker/mail/opendkim/:/etc/dkimkeys/
- /DATA/docker/mail/ssl/:/certs-ssl/
env_file: ./secrets/mail.secrets
environment:
#adresse et port du serveur LMTP i.e. le MTA
LMTP_LAN_HOSTNAME: pica-mail-mda.pica_mail
LMTP_PORT: 24
#nom d'hôte sous lequel Postfix répondra aux requêtes SMTP
MY_HOSTNAME: mail.picasoft.net
#domaine des mails
MY_DOMAIN: picasoft.net
#domaines mails qu'on s'autorise à relayer (qui ont le droit de passer à travers notre serveur si ils sont en expéditeur ou destinataire)
RELAY_DOMAINS: picasoft.net
#réglage de la connexion au serveur LDAP: protocole (ldap ou ldaps), hôte et port
LDAP_PROTOCOL: ldap
LDAP_SERVER_HOSTNAME: ldap.picasoft.net
LDAP_PORT: 389
#réglage du bind : login d'un compte qui a suffisamment de droits pour lire l'arborescence (à l'exception des mots de passe)
LDAP_BIND_DN: cn=mail,ou=Services,dc=picasoft,dc=net
#réglage de la manière dont on répertorie les comptes et les adresses existantes
#la config actuelle fait que la possession d'une adresse mail se fait ainsi : login => login@picasoft.net
#cependant, nous avons quand même deux couches différentes: l'existence d'un compte (SASL) et l'existence d'une adresse
#ce qui fait qu'on peut créer une adresse valide sans nécessairement lui associer un compte valide
#ainsi, on pourra recevoir des mails dans la boîte, mais on ne pourra pas se connecter en tant que cet utilisateur
#pour ce faire, il suffit d'utiliser des attributs LDAP différents
#nous utilisons donc le cn pour l'existence d'un compte LDAP, et l'uid pour l'existence d'une adresse
#niveau de l'arborescence à partir duquel les entrées sont trouvées:
LDAP_SEARCH_BASE: dc=picasoft,dc=net
#filtre permettant de répertorier les comptes SASL
LDAP_SASL_FILTER: "cn=%u"
#filtre permettant de répertorier les adresses mail
LDAP_VIRTUAL_MAILBOX_FILTER: "uid=%s"
#ajout de listes noires pour éviter le SPAM. La décision politique et l'éthique associée sortent du cadre de la conception de cette image et doivent être discutées par l'asso; en tout cas, si on lève cette restriction, elle doit être remplacée par une autre (un spamassassin par exemple).
SMTPD_CLIENT_RESTRICTIONS: reject_rbl_client sbl.spamhaus.org, reject_rbl_client dnsbl.sorbs.net
#prefixe DKIM, utilise pour identifier la clef
DKIM_SELECTOR: janv2019
labels:
- "traefik.frontend.rule=Host:mail.picasoft.net"
- "traefik.port=80"
- "traefik.enable=true"
- "traefik.docker.network=pica_mail"