2019-09-10 20:51:11 -03:00

74 lines
2.2 KiB
Docker

FROM eumau/debian:buster-slim
LABEL maintainer "Mauro Torrez <mauro@mau.ro>"
ARG DEBIAN_FRONTEND=noninteractive
ENV LC_ALL C
ENV \
MAIL_DOMAINS= \
AUTH_MECHANISMS=plain \
AUTH_USERNAME_FORMAT="%Lu" \
AUTH_MASTER_ENABLE= \
SUBMISSION_RELAY_HOST= \
SUBMISSION_RELAY_PORT=25 \
SUBMISSION_RELAY_TRUSTED=yes \
SUBMISSION_RELAY_USER= \
SUBMISSION_RELAY_MASTER_USER= \
SUBMISSION_RELAY_PASSWORD= \
SUBMISSION_RELAY_SSL=starttls \
SUBMISSION_RELAY_SSL_VERIFY=no \
SUBMISSION_RELAY_RAWLOG_DIR= \
LDAP_ENABLE= \
LDAP_HOSTS="ldap:389" \
LDAP_URIS= \
LDAP_BIND=yes \
LDAP_VERSION=3 \
LDAP_BASE="dc=example,dc=org" \
LDAP_SCOPE=sub \
LDAP_USER_ATTRS="=home=/vmail/mail/%d/%n, =uid=5000, =gid=5000" \
LDAP_USER_FILTER="(&(objectClass=inetOrgPerson)(uid=%n))" \
LDAP_PASS_ATTRS="userPassword=password, =userdb_home=/vmail/mail/%d/%n, =userdb_uid=5000, =userdb_gid=5000" \
LDAP_PASS_FILTER="(&(objectClass=inetOrgPerson)(uid=%n))" \
LDAP_ITERATE_ATTRS="=user=%{ldap:uid}@%d" \
LDAP_ITERATE_FILTER="(objectClass=inetOrgPerson)" \
LDAP_DEFAULT_PASS_SCHEME=CRYPT
RUN groupadd -g 5000 vmail && useradd -g vmail -u 5000 vmail -d /vmail \
&& mkdir -p /vmail && chown vmail:vmail /vmail \
&& apt-get update && apt-get install -y --no-install-recommends \
dovecot-lmtpd \
dovecot-imapd \
dovecot-ldap \
dovecot-sieve \
dovecot-submissiond \
dovecot-managesieved \
dovecot-antispam \
bogofilter \
ssl-cert \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /ssl && chmod 700 /ssl \
&& cp /etc/ssl/certs/ssl-cert-snakeoil.pem /ssl/cert.pem \
&& cp /etc/ssl/private/ssl-cert-snakeoil.key /ssl/key.pem \
&& mkdir -p /etc/dovecot/local.d /etc/dovecot/sieve/before /etc/dovecot/sieve/after
ADD 10-mail.conf \
10-master.conf \
10-ssl.conf \
11-quota.conf \
15-mailboxes.conf \
20-imap.conf \
90-antispam.conf \
90-sieve.conf \
/etc/dovecot/conf.d/
ADD local.conf /etc/dovecot/
ADD junk-filter.sieve /etc/dovecot/sieve/before/
ADD confd /etc/confd/
RUN sievec /etc/dovecot/sieve/before
VOLUME /etc/dovecot /ssl /vmail
EXPOSE 110/tcp 143/tcp 587/tcp 993/tcp 995/tcp 2000/tcp
CMD ["dovecot","-F"]