Mauro Torrez 82e5e1bff1
All checks were successful
Build Docker images / docker (eumau/dovecot, 4) (push) Successful in 4m50s
Upgrade to bookworm, v4
2024-03-01 22:39:47 -03:00

78 lines
2.5 KiB
Docker

FROM eumau/debian:bookworm-slim
LABEL maintainer "Mauro Torrez <mauro@mau.ro>"
ARG DEBIAN_FRONTEND=noninteractive
ENV LC_ALL C
RUN groupadd -g 5000 vmail && useradd -g vmail -u 5000 vmail -d /vmail \
&& mkdir -p /vmail/bogofilter && 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 \
bogofilter-sqlite \
ssl-cert \
ca-certificates \
&& 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 \
&& printf '!include_try local.d/*.conf\nlog_path = /dev/stdout\n' > /etc/dovecot/local.conf
ADD 10-auth.conf \
10-mail.conf \
10-master.conf \
15-mailboxes.conf \
/etc/dovecot/conf.d/
ENV \
MAIL_DOMAINS= \
POSTMASTER_ADDRESS= \
AUTH_MECHANISMS=plain \
AUTH_USERNAME_FORMAT="%Lu" \
AUTH_MASTER_ENABLE= \
SUBMISSION_HOSTNAME=dovecot.dockernet \
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=subtree \
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 \
SINGLE_USER= \
ANTISPAM_ENABLE=yes \
SIEVE_ENABLE=yes \
MANAGESIEVE_ENABLE=yes \
IMAP_URLAUTH_HOST="*" \
SSL_CLIENT_CA_DIR="/etc/ssl/certs" \
SSL_CLIENT_CA_FILE= \
SSL_CERT="/ssl/cert.pem" \
SSL_KEY="/ssl/key.pem"
ADD confd /etc/confd/
ADD spamtrain.sh report-ham.sieve report-spam.sieve /etc/dovecot/sieve/
ADD junk-filter.sieve /etc/dovecot/sieve/before/
ADD sievec /start.d/
VOLUME ["/ssl","/vmail"]
EXPOSE 110/tcp 143/tcp 587/tcp 993/tcp 995/tcp 4190/tcp
CMD ["dovecot","-F"]