build dovecot from source
This commit is contained in:
parent
000128815e
commit
99dcc255f1
62
Dockerfile
62
Dockerfile
@ -1,30 +1,54 @@
|
|||||||
|
FROM alpine as builder
|
||||||
|
|
||||||
|
RUN apk --no-cache add \
|
||||||
|
rpcgen \
|
||||||
|
g++ \
|
||||||
|
make \
|
||||||
|
libressl \
|
||||||
|
libressl-dev \
|
||||||
|
lua-dev \
|
||||||
|
openldap-dev \
|
||||||
|
libsodium-dev \
|
||||||
|
linux-pam-dev \
|
||||||
|
zlib-dev \
|
||||||
|
bzip2-dev \
|
||||||
|
xz-dev \
|
||||||
|
lz4-dev \
|
||||||
|
icu-dev
|
||||||
|
|
||||||
|
RUN mkdir /tmp/dovecot
|
||||||
|
RUN wget -qO- https://www.dovecot.org/releases/2.3/dovecot-2.3.0.tar.gz | tar -xz -C /tmp/dovecot --strip 2
|
||||||
|
|
||||||
|
RUN mkdir /tmp/pigeonhole
|
||||||
|
RUN wget -qO- https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-0.5.0.1.tar.gz | tar -xz -C /tmp/pigeonhole --strip 1
|
||||||
|
|
||||||
|
RUN cd /tmp/dovecot && \
|
||||||
|
./configure --prefix '' --with-lua --with-zlib --with-bzlib --with-pam --with-ssl=openssl --with-sodium --without-sql --with-ldap --with-lzma --with-lz4 --with-icu --without-shadow --with-ssldir=/etc/ssl/dovecot --with-rundir=/run/dovecot --without-shared-libs && \
|
||||||
|
make && \
|
||||||
|
make install
|
||||||
|
|
||||||
|
RUN cd /tmp/pigeonhole && \
|
||||||
|
./configure --with-ldap=yes --with-dovecot=/lib/dovecot && \
|
||||||
|
make && make install
|
||||||
|
|
||||||
FROM registry.gitlab.com/thallian/docker-confd-env:master
|
FROM registry.gitlab.com/thallian/docker-confd-env:master
|
||||||
|
|
||||||
ADD i_zero.patch /usr/include/dovecot/i_zero.patch
|
COPY --from=builder /lib/dovecot/ /lib/dovecot/
|
||||||
|
COPY --from=builder /bin/doveadm /bin/doveadm
|
||||||
|
COPY --from=builder /bin/doveconf /bin/doveconf
|
||||||
|
COPY --from=builder /sbin/dovecot /sbin/dovecot
|
||||||
|
#COPY --from=builder /share/doc/dovecot/example-config/ /etc/dovecot/
|
||||||
|
|
||||||
RUN apk add --no-cache dovecot dovecot-ldap libressl ssmtp ca-certificates g++ openldap-dev dovecot-dev make tar && \
|
RUN apk --no-cache add \
|
||||||
cd /usr/include/dovecot && \
|
libsodium \
|
||||||
patch -p1 < i_zero.patch && \
|
lua
|
||||||
rm /usr/include/dovecot/i_zero.patch && \
|
|
||||||
mkdir /tmp/pigeonhole && \
|
|
||||||
wget -qO- https://pigeonhole.dovecot.org/releases/2.2/dovecot-2.2-pigeonhole-0.4.18.tar.gz | tar -xz -C /tmp/pigeonhole --strip 1 && \
|
|
||||||
cd /tmp/pigeonhole && \
|
|
||||||
./configure --with-ldap=yes --with-dovecot=/usr/lib/dovecot && \
|
|
||||||
make && make install && \
|
|
||||||
rm -r /tmp/pigeonhole && \
|
|
||||||
apk del g++ openldap-dev dovecot-dev make tar
|
|
||||||
|
|
||||||
WORKDIR /
|
RUN addgroup -g 2222 dovecot
|
||||||
|
RUN adduser -u 2222 -h /home/dovecot -D -G dovecot dovecot
|
||||||
RUN addgroup -g 2222 access
|
|
||||||
RUN addgroup dovecot access
|
|
||||||
|
|
||||||
RUN addgroup -g 1111 vmail
|
RUN addgroup -g 1111 vmail
|
||||||
RUN adduser -u 1111 -h /var/lib/vmail -D -G vmail vmail
|
RUN adduser -u 1111 -h /var/lib/vmail -D -G vmail vmail
|
||||||
|
|
||||||
RUN mkdir /var/lib/vmail/sieve-after/
|
|
||||||
RUN chown vmail:vmail /var/lib/vmail/sieve-after/
|
|
||||||
|
|
||||||
EXPOSE 143 4190 6334 7777
|
EXPOSE 143 4190 6334 7777
|
||||||
|
|
||||||
VOLUME /var/lib/vmail/mail/ /etc/ssl/mail
|
VOLUME /var/lib/vmail/mail/ /etc/ssl/mail
|
||||||
|
12
i_zero.patch
12
i_zero.patch
@ -1,12 +0,0 @@
|
|||||||
diff --git a/macros.h b/macros.h
|
|
||||||
index 566c176..ebbf480 100644
|
|
||||||
--- a/macros.h
|
|
||||||
+++ b/macros.h
|
|
||||||
@@ -240,4 +240,7 @@
|
|
||||||
# define STATIC_ARRAY
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#define i_zero(p) memset(p, 0, sizeof(*(p)))
|
|
||||||
+#define i_zero_safe(p) safe_memset(p, 0, sizeof(*(p)))
|
|
||||||
+
|
|
||||||
#endif
|
|
Loading…
Reference in New Issue
Block a user