add antispam support using imap sieve
This commit is contained in:
106
Dockerfile
106
Dockerfile
@@ -1,55 +1,19 @@
|
||||
FROM eumau/debian:buster-slim
|
||||
FROM eumau/debian:bullseye-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_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 \
|
||||
ANTISPAM_ENABLE=yes \
|
||||
IMAP_URLAUTH_HOST="*" \
|
||||
SSL_CLIENT_CA_DIR="/etc/ssl/certs" \
|
||||
SSL_CERT="/ssl/cert.pem" \
|
||||
SSL_KEY="/ssl/key.pem"
|
||||
|
||||
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 \
|
||||
dovecot-antispam \
|
||||
bogofilter-sqlite \
|
||||
ssl-cert \
|
||||
ca-certificates \
|
||||
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 \
|
||||
@@ -61,20 +25,52 @@ ADD 10-auth.conf \
|
||||
10-mail.conf \
|
||||
10-master.conf \
|
||||
15-mailboxes.conf \
|
||||
90-antispam.conf \
|
||||
90-sieve.conf \
|
||||
/etc/dovecot/conf.d/
|
||||
|
||||
ADD junk-filter.sieve /etc/dovecot/sieve/before/
|
||||
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 \
|
||||
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 /usr/local/bin/
|
||||
|
||||
RUN sievec /etc/dovecot/sieve/before
|
||||
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 2000/tcp
|
||||
|
||||
CMD ["dovecot","-F"]
|
||||
|
||||
Reference in New Issue
Block a user