Skip to content
Snippets Groups Projects
docker-compose.yml 3.75 KiB
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:v1.0
    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:v1.0
    build: ./pica-mail-mta
    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