77 lines
2.4 KiB
Docker
77 lines
2.4 KiB
Docker
FROM golang:1.9-alpine as confd
|
|
LABEL maintainer "Mauro Torrez <mauro@mau.ro>"
|
|
# confd -----------------------------------------------------------------------
|
|
ARG CONFD_VERSION=0.16.0
|
|
ADD https://github.com/kelseyhightower/confd/archive/v${CONFD_VERSION}.tar.gz /tmp/
|
|
RUN apk add --no-cache bzip2 make && \
|
|
mkdir -p /go/src/github.com/kelseyhightower/confd && \
|
|
cd /go/src/github.com/kelseyhightower/confd && \
|
|
tar --strip-components=1 -zxf /tmp/v${CONFD_VERSION}.tar.gz && \
|
|
go install github.com/kelseyhightower/confd && \
|
|
rm -rf /tmp/v${CONFD_VERSION}.tar.gz
|
|
# end confd -------------------------------------------------------------------
|
|
|
|
FROM debian:buster-slim
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
ENV LC_ALL C
|
|
ENV SUBMISSION_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=
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
dovecot-lmtpd \
|
|
dovecot-imapd \
|
|
dovecot-ldap \
|
|
dovecot-sieve \
|
|
dovecot-managesieved \
|
|
dovecot-antispam \
|
|
bogofilter \
|
|
ssl-cert \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& groupadd -g 5000 vmail && useradd -g vmail -u 5000 vmail -d /vmail \
|
|
&& mkdir -p /vmail && chown vmail:vmail /vmail \
|
|
&& 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,after} \
|
|
&& mkdir -p /etc/confd/{conf.d,templates}
|
|
|
|
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 \
|
|
auth-ldap.conf.ext \
|
|
auth-master.conf.ext \
|
|
/etc/dovecot/conf.d/
|
|
|
|
ADD local.conf /etc/dovecot/
|
|
|
|
ADD submission.conf.tmpl \
|
|
/etc/confd/templates/
|
|
ADD confd.toml /etc/confd/conf.d/
|
|
|
|
ADD junk-filter.sieve /etc/dovecot/sieve/before/
|
|
# RUN sievec /etc/dovecot/sieve/before && sievec /etc/dovecot/sieve/after
|
|
|
|
VOLUME /etc/dovecot /ssl /vmail
|
|
|
|
EXPOSE 110/tcp 143/tcp 587/tcp 993/tcp 995/tcp 2000/tcp
|
|
|
|
COPY --from=confd /go/bin/confd /usr/local/bin/confd
|
|
ADD entrypoint.sh /
|
|
RUN chmod +x /entrypoint.sh /usr/local/bin/confd
|
|
|
|
ENTRYPOINT /entrypoint.sh
|
|
CMD dovecot -F
|