
All checks were successful
Build Docker images / docker (eumau/dovecot, 4) (push) Successful in 4m50s
78 lines
2.5 KiB
Docker
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"]
|