Skip to content
Snippets Groups Projects
Verified Commit 85828c07 authored by Quentin Duchemin's avatar Quentin Duchemin
Browse files

[Mail] Use TLSCertsMonitor to manage certificates automatically

parent 91a9dcd2
No related branches found
No related tags found
No related merge requests found
COMPOSE_PROJECT_NAME=pica
......@@ -27,7 +27,7 @@ La configuration se fait essentiellement via les variables d'environnement de [C
Deux dossiers supplémentaires doivent exister :
* `/DATA/docker/mail/opendkim`, dont le contenu sera peuplé [comme indiqué dans la documentation](https://wiki.picasoft.net/doku.php?id=technique:mail:dkim).
* `/DATA/docker/mail/ssl`, qui doit contenir les certificats SSL du serveur mail. Pour le moment, ils sont extraits de Traefik avec [ces commandes](../deprecated/pica-mail-copy-certs/update-certs-pica-mail.sh), mais dans le futur ils devront être gérés par [TLS Certs Monitor](../pica-tls-certs-monitor).
* `/DATA/docker/certs/mail.picasoft.net`, qui doit contenir les certificats SSL du serveur mail. Ils sont gérés par [TLS Certs Monitor](../pica-tls-certs-monitor).
### Lancement
......
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:
name: pica-mail
docker_default:
external: true
volumes:
mail-mda-maildir:
......@@ -23,7 +25,7 @@ services:
hostname: pica-mail-mda
volumes:
- mail-mda-maildir:/home
- /DATA/docker/mail/ssl/:/certs-ssl/:ro
- /DATA/docker/certs/mail.picasoft.net/:/certs-ssl/cert:ro
environment:
LDAP_ADDRESS: ldap.picasoft.net
LDAP_NSS_CN: cn=mail,ou=Services,dc=picasoft,dc=net
......@@ -42,11 +44,12 @@ services:
- "587:587"
networks:
- mail
- docker_default
volumes:
- mail-mta-log:/var/log
#doit contenir selecteur.domaine.rsa
- /DATA/docker/mail/opendkim/:/etc/dkimkeys/
- /DATA/docker/mail/ssl/:/certs-ssl/
- /DATA/docker/certs/mail.picasoft.net/:/certs-ssl/cert:ro
env_file: ./secrets/mail.secrets
environment:
#adresse et port du serveur LMTP i.e. le MTA
......@@ -82,7 +85,8 @@ services:
#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"
traefik.frontend.rule: Host:mail.picasoft.net
traefik.port: 80
traefik.enable: true
tls-certs-monitor.enable: true
tls-certs-monitor.action: restart
......@@ -22,8 +22,8 @@ ENV USER_FILTER (uid=%n)
ENV PASSWORD_FILTER (uid=%n)
# SSL
# L'antislash "\" est nécessaire devant le slash "/" !
ENV SSL_CERT "\/certs-ssl\/cert"
ENV SSL_KEY "\/certs-ssl\/key"
ENV SSL_CERT "\/certs-ssl\/cert.pem"
ENV SSL_KEY "\/certs-ssl\/privkey.pem"
COPY fichiers_de_configuration.sh /
COPY entrypoint.sh /
......
# Pour construire l'image :
```
docker build -t pica-mail-mda .
```
# Pour lancer le conteneur :
```
docker run -d --name pica-mail-mda --network pica_mail --hostname pica-mail-mda --mount source=mail-mda-maildir,target=/home/ --mount source=/DATA/docker/mail/ssl/,target=/certs-ssl/:ro -p 993:993 pica-mail-mda:2
```
......@@ -46,6 +46,11 @@ ENV LMTP_PORT 24
#blacklist, peut être vide
ENV SMTPD_CLIENT_RESTRICTIONS reject_rbl_client sbl.spamhaus.org, reject_rbl_client dnsbl.sorbs.net
# SSL
# L'antislash "\" est nécessaire devant le slash "/" !
ENV SSL_CERT "\/certs-ssl\/cert.pem"
ENV SSL_KEY "\/certs-ssl\/privkey.pem"
#configuration de OpenDKIM
COPY spam/opendkim.conf /etc/
COPY spam/opendmarc.conf /etc/
......
......@@ -126,9 +126,9 @@ adduser postfix opendmarc
#SSL : récupération des certificats (qui seront utilisés pour la connexion smtp)
postconf -e 'smtpd_tls_cert_file = /certs-ssl/cert'
postconf -e 'smtpd_tls_key_file = /certs-ssl/key'
postconf -e 'smtpd_tls_security_level = may'
postconf -e "smtpd_tls_cert_file = ${SSL_CERT}"
postconf -e "smtpd_tls_key_file = ${SSL_KEY}"
postconf -e "smtpd_tls_security_level = may"
#autorise le SSL pour des mails sortant mais n'interdit pas le clair lorsque ce n'est pas disponible
postconf -e "smtp_tls_security_level=may"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment