mirror of
https://github.com/Mailu/Mailu.git
synced 2025-03-03 14:52:36 +02:00
In Docker Swarm mode the services listed below can get stuck in their start script, while they are waiting for other services become available. Now, with HEALTHCHECK enabled, docker does not resolve names of services that not pass HEALTHCHECK yet. Meaning that if one of the depenend services is not yet available, it will create a chain of failing services. The services below retry to resolve 100 time, with an average of 3.5 seconds. Hence, the --start-time flag is now set at 350 seconds. - dovecot (imap) - postfix (smtp) - rspamd (antispam)
17 lines
354 B
Docker
17 lines
354 B
Docker
FROM alpine:3.8
|
|
|
|
RUN apk add --no-cache postfix postfix-pcre rsyslog \
|
|
python3 py3-pip \
|
|
&& pip3 install --upgrade pip \
|
|
&& pip3 install jinja2 podop tenacity
|
|
|
|
COPY conf /conf
|
|
COPY start.py /start.py
|
|
|
|
EXPOSE 25/tcp 10025/tcp
|
|
VOLUME ["/data"]
|
|
|
|
CMD /start.py
|
|
|
|
HEALTHCHECK --start-period=350s CMD echo QUIT|nc localhost 25|grep "220 .* ESMTP Postfix"
|