use alpine packages, no longer need to compile ourselves
All checks were successful
Build Multiarch Container Image / call-reusable-workflow (push) Successful in 1m0s

This commit is contained in:
Sebastian Hugentobler 2024-04-26 14:55:30 +02:00
parent 659e14a87d
commit f45cab5235
Signed by: shu
GPG key ID: BB32CF3CA052C2F0
10 changed files with 130 additions and 155 deletions

View file

@ -1,93 +1,84 @@
FROM docker.io/alpine:3.19 as builder
RUN apk --no-cache add \
rpcgen \
g++ \
make \
openssl \
openssl-dev \
lua5.1-dev \
libsodium-dev \
linux-pam-dev \
zlib-dev \
bzip2-dev \
xz-dev \
lz4-dev \
icu-dev \
inotify-tools-dev
ENV SHA256_SUM_DOVECOT=05b11093a71c237c2ef309ad587510721cc93bbee6828251549fc1586c36502d
ENV DOVECOT_FILENAME=dovecot-2.3.21.tar.gz
RUN wget https://www.dovecot.org/releases/2.3/$DOVECOT_FILENAME
RUN echo "$SHA256_SUM_DOVECOT $DOVECOT_FILENAME" | sha256sum -c - || exit 1
RUN mkdir /tmp/dovecot
RUN tar xzf $DOVECOT_FILENAME -C /tmp/dovecot --strip 1
ENV SHA256_SUM_PIGEONHOLE=1ca71d2659076712058a72030288f150b2b076b0306453471c5261498d3ded27
ENV PIGEONHOLE_FILENAME=dovecot-2.3-pigeonhole-0.5.21.tar.gz
RUN wget https://pigeonhole.dovecot.org/releases/2.3/$PIGEONHOLE_FILENAME
RUN echo "$SHA256_SUM_PIGEONHOLE $PIGEONHOLE_FILENAME" | sha256sum -c - || exit 1
RUN mkdir /tmp/pigeonhole
RUN tar xzf $PIGEONHOLE_FILENAME -C /tmp/pigeonhole --strip 1
RUN cd /tmp/dovecot && \
./configure --prefix '' \
--with-notify=inotify \
--with-lua \
--with-zlib \
--with-bzlib \
--with-pam \
--with-ssl=openssl \
--with-sodium \
--without-sql \
--with-lzma \
--with-lz4 \
--with-icu \
--without-shadow \
--with-ssldir=/etc/ssl/mail \
--with-rundir=/run/dovecot \
--disable-static && \
make && \
make install
RUN cd /tmp/pigeonhole && \
./configure --prefix '' \
--with-dovecot=/lib/dovecot \
--disable-static && \
make && make install
# FROM docker.io/alpine:3.19 as builder
#
# RUN apk --no-cache add \
# rpcgen \
# g++ \
# make \
# openssl \
# openssl-dev \
# lua5.1-dev \
# libsodium-dev \
# linux-pam-dev \
# zlib-dev \
# bzip2-dev \
# xz-dev \
# lz4-dev \
# icu-dev \
# inotify-tools-dev
#
# ENV SHA256_SUM_DOVECOT=05b11093a71c237c2ef309ad587510721cc93bbee6828251549fc1586c36502d
# ENV DOVECOT_FILENAME=dovecot-2.3.21.tar.gz
# RUN wget https://www.dovecot.org/releases/2.3/$DOVECOT_FILENAME
# RUN echo "$SHA256_SUM_DOVECOT $DOVECOT_FILENAME" | sha256sum -c - || exit 1
# RUN mkdir /tmp/dovecot
# RUN tar xzf $DOVECOT_FILENAME -C /tmp/dovecot --strip 1
#
# ENV SHA256_SUM_PIGEONHOLE=1ca71d2659076712058a72030288f150b2b076b0306453471c5261498d3ded27
# ENV PIGEONHOLE_FILENAME=dovecot-2.3-pigeonhole-0.5.21.tar.gz
# RUN wget https://pigeonhole.dovecot.org/releases/2.3/$PIGEONHOLE_FILENAME
# RUN echo "$SHA256_SUM_PIGEONHOLE $PIGEONHOLE_FILENAME" | sha256sum -c - || exit 1
# RUN mkdir /tmp/pigeonhole
# RUN tar xzf $PIGEONHOLE_FILENAME -C /tmp/pigeonhole --strip 1
#
# RUN cd /tmp/dovecot && \
# ./configure --prefix '' \
# --with-notify=inotify \
# --with-lua \
# --with-zlib \
# --with-bzlib \
# --with-pam \
# --with-ssl=openssl \
# --with-sodium \
# --without-sql \
# --with-lzma \
# --with-lz4 \
# --with-icu \
# --without-shadow \
# --with-ssldir=/etc/ssl/mail \
# --with-rundir=/run/dovecot \
# --disable-static && \
# make && \
# make install
#
# RUN cd /tmp/pigeonhole && \
# ./configure --prefix '' \
# --with-dovecot=/lib/dovecot \
# --disable-static && \
# make && make install
FROM docker.io/thallian/confd-env:3.19-3.1.6.2
COPY --from=builder /lib/dovecot/ /lib/dovecot/
COPY --from=builder /libexec/dovecot/ /libexec/dovecot/
COPY --from=builder /bin/doveadm /bin/doveadm
COPY --from=builder /bin/doveconf /bin/doveconf
COPY --from=builder /bin/dsync /bin/dsync
COPY --from=builder /sbin/dovecot /sbin/dovecot
COPY --from=builder /bin/sieve* /bin/
# COPY --from=builder /lib/dovecot/ /lib/dovecot/
# COPY --from=builder /libexec/dovecot/ /libexec/dovecot/
# COPY --from=builder /bin/doveadm /bin/doveadm
# COPY --from=builder /bin/doveconf /bin/doveconf
# COPY --from=builder /bin/dsync /bin/dsync
# COPY --from=builder /sbin/dovecot /sbin/dovecot
# COPY --from=builder /bin/sieve* /bin/
RUN apk --no-cache add \
libsodium \
libbz2 \
zlib \
xz-libs \
lz4-libs \
lz4 \
linux-pam \
openssl \
ssmtp \
ca-certificates \
lua5.1-libs \
lua5.1-rapidjson \
curl \
inotify-tools \
libssl3
dovecot \
dovecot-pgsql \
dovecot-lmtpd \
dovecot-pigeonhole-plugin
RUN addgroup -g 150 dovecot
RUN adduser -u 140 -h /dev/null -H -s /sbin/nologin -D -G dovecot dovecot
RUN addgroup -g 151 dovenull
RUN adduser -u 141 -h /dev/null -H -s /sbin/nologin -D -G dovenull dovenull
# RUN addgroup -g 150 dovecot
# RUN adduser -u 140 -h /dev/null -H -s /sbin/nologin -D -G dovecot dovecot
#
# RUN addgroup -g 151 dovenull
# RUN adduser -u 141 -h /dev/null -H -s /sbin/nologin -D -G dovenull dovenull
RUN addgroup -g 2222 access
RUN addgroup dovecot access