mirror of
https://github.com/Mailu/Mailu.git
synced 2025-01-30 04:30:49 +02:00
1aa97c9914
In case of TLS_FLAVOR=[mail,cert], the user supplies their own certificates. However, since nginx is not aware of changes to these files, it cannot reload itself e.g. when the certs get renewed. To solve this, let’s add a small daemon in the place of `letsencrypt.py`, which uses a flexible file-watching framework and reloads nginx in the case the certificates change ….
21 lines
592 B
Docker
21 lines
592 B
Docker
FROM alpine:3.8
|
|
# python3 shared with most images
|
|
RUN apk add --no-cache \
|
|
python3 py3-pip \
|
|
&& pip3 install --upgrade pip
|
|
# Shared layer between rspamd, postfix, dovecot, unbound and nginx
|
|
RUN pip3 install jinja2
|
|
# Image specific layers under this line
|
|
RUN apk add --no-cache certbot nginx nginx-mod-mail openssl curl \
|
|
&& pip3 install idna requests watchdog
|
|
|
|
COPY conf /conf
|
|
COPY *.py /
|
|
|
|
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"]
|
|
|
|
CMD /start.py
|
|
|
|
HEALTHCHECK CMD curl -k -f -L http://localhost/health || exit 1
|