|
|
|
ARG DISTRO=alpine:3.14.5
|
|
|
|
FROM $DISTRO
|
|
|
|
ARG VERSION
|
|
|
|
|
|
|
|
ENV TZ Etc/UTC
|
|
|
|
|
|
|
|
LABEL version=$VERSION
|
|
|
|
|
|
|
|
# python3 shared with most images
|
|
|
|
RUN apk add --no-cache \
|
|
|
|
python3 py3-pip git bash py3-multidict \
|
|
|
|
&& pip3 install --upgrade pip
|
|
|
|
|
|
|
|
# Shared layer between nginx, dovecot, postfix, postgresql, rspamd, unbound, snappymail, roundcube
|
|
|
|
RUN pip3 install socrate==0.2.0
|
|
|
|
|
|
|
|
# Image specific layers under this line
|
|
|
|
RUN apk add --no-cache certbot nginx nginx-mod-mail openssl curl tzdata \
|
|
|
|
&& pip3 install watchdog
|
|
|
|
|
|
|
|
COPY conf /conf
|
|
|
|
COPY static /static
|
|
|
|
COPY *.py /
|
|
|
|
|
|
|
|
RUN gzip -k9 /static/*.ico /static/*.txt; chmod a+rX -R /static
|
|
|
|
|
|
|
|
EXPOSE 80/tcp 443/tcp 110/tcp 143/tcp 465/tcp 587/tcp 993/tcp 995/tcp 25/tcp 10025/tcp 10143/tcp
|
|
|
|
VOLUME ["/certs"]
|
|
|
|
VOLUME ["/overrides"]
|
|
|
|
|
|
|
|
CMD /start.py
|
|
|
|
|
|
|
|
HEALTHCHECK CMD curl -k -f -L http://localhost/health || exit 1
|
|
|
|
RUN echo $VERSION >> /version
|