Skip to content
Snippets Groups Projects
Unverified Commit 738ba15c authored by Roma's avatar Roma Committed by Rémy Huet
Browse files

Fix de pica-mail-mda pour que les variables soient passées au run (+ optimisations build)

parent 380d1356
No related branches found
No related tags found
1 merge request!20pica-mailnt
......@@ -4,27 +4,28 @@ From debian:stretch
#lors de l'installation de dovecot, par défaut, il y a des "fenêtres dans la console", ceci les désactive et utilise des réponses par défaut
ENV DEBIAN_FRONTEND noninteractive
#installation des paquets debian
RUN apt-get update -y \
&& apt-get install -y \
dovecot-common dovecot-imapd dovecot-lmtpd dovecot-ldap \
&& rm -rf /var/lib/apt/lists/* \
&& addgroup --gid 1000 vmail \
&& adduser --system --disabled-login --no-create-home --ingroup vmail --uid 500 vmail
### Définition des variables d'environnement.
# LDAP
ENV LDAP_ADDRESS ldap.test.picasoft.net
ENV LDAP_NSS_CN readonly
ENV LDAP_DC2 picasoft
ENV LDAP_DC1 net
ENV LDAP_BASE dc=picasoft,dc=net
ENV LDAP_NSS_CN cn=mail,ou=Services,dc=picasoft,dc=net
ENV LDAP_DNPASS readonly
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"
COPY fichiers_de_configuration.sh /
COPY entrypoint.sh /
#installation des paquets debian
RUN apt-get update -y \
&& apt-get install -y \
dovecot-common dovecot-imapd dovecot-lmtpd dovecot-ldap \
&& rm -rf /var/lib/apt/lists/* \
&& addgroup --gid 1000 vmail \
&& adduser --system --disabled-login --no-create-home --ingroup vmail --uid 500 vmail \
&& bash /fichiers_de_configuration.sh
CMD ["dovecot", "-F"]
CMD ["/entrypoint.sh"]
#!/bin/bash
/fichiers_de_configuration.sh
dovecot -F
......@@ -16,7 +16,7 @@
# Définition de l'adresse du LDAP
sed -i 's/^#hosts =.*/hosts = '"${LDAP_ADDRESS}"'/' /etc/dovecot/dovecot-ldap.conf.ext
# Définition du distinguished name pour accéder au LDAP
sed -i 's/^#dn =.*/dn = cn='"${LDAP_NSS_CN}"',dc='"${LDAP_DC2}"',dc='"${LDAP_DC1}"'/' /etc/dovecot/dovecot-ldap.conf.ext
sed -i 's/^#dn =.*/dn = '"${LDAP_NSS_CN}"'/' /etc/dovecot/dovecot-ldap.conf.ext
# Définition du mot de passe pour accéder au LDAP
sed -i 's/^#dnpass =.*/dnpass = '"${LDAP_DNPASS}"'/' /etc/dovecot/dovecot-ldap.conf.ext
# Autoriser les binds LDAP
......@@ -24,19 +24,20 @@ sed -i 's/^#auth_bind = no/auth_bind = yes/' /etc/dovecot/dovecot-ldap.conf.ext
# Définition de la version du LDAP
sed -i 's/^#ldap_version = .*/ldap_version = 3/' /etc/dovecot/dovecot-ldap.conf.ext
# Définition de la base à partir de laquelle commencer les recherches
sed -i 's/^base =.*/base = dc='"${LDAP_DC2}"',dc='"${LDAP_DC1}"'/' /etc/dovecot/dovecot-ldap.conf.ext
sed -i 's/^base =.*/base = '"${LDAP_BASE}"'/' /etc/dovecot/dovecot-ldap.conf.ext
# Autoriser la recherche dans les branches sous-jacentes de cette base
sed -i 's/^#scope = subtree.*/scope = subtree/' /etc/dovecot/dovecot-ldap.conf.ext
# Réaliser la correspondance entre l'UID (côté LDAP) et la partie nom d'utilisateur de
# Réaliser la correspondance entre l'UID (côté LDAP) et partie nom d'utilisateur de
# l'adresse mail (côté client).
sed -i 's/^#user_filter = .*/user_filter = (uid=%n)/' /etc/dovecot/dovecot-ldap.conf.ext
sed -i 's/^#user_filter = .*/user_filter = '"${USER_FILTER}"'/' /etc/dovecot/dovecot-ldap.conf.ext
sed -i '130s/^.*/pass_attrs = uid=user,userPassword=password,uid=userdb_user/' /etc/dovecot/dovecot-ldap.conf.ext
sed -i 's/^#pass_filter = .*/pass_filter = (uid=%n)/' /etc/dovecot/dovecot-ldap.conf.ext
sed -i 's/^#pass_filter = .*/pass_filter = '"${PASSWORD_FILTER}"'/' /etc/dovecot/dovecot-ldap.conf.ext
# On ne récupère aucun attribut car le nom du répertoire des mails correspond à la
# partie nom d'utilisateur de l'adresse mail. On n'a donc besoin d'aucun attribut.
echo "user_attrs =" >> /etc/dovecot/dovecot-ldap.conf.ext
#sed -i 's/^# = .*//' /etc/dovecot/dovecot-ldap.conf.ext
### Modification de /etc/dovecot/conf.d/auth-ldap.conf.ext
sed -i '15s/^#userdb {.*/userdb {/' /etc/dovecot/conf.d/auth-ldap.conf.ext
sed -i '16s/.*/ driver = prefetch/' /etc/dovecot/conf.d/auth-ldap.conf.ext
......
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