[Dovecot] Use events to kill supervisord when main proc dies
[Postfix] Use events to kill supervisord when main proc dies [SOGo] Use events to kill supervisord when main proc diesmaster
parent
23e3bdfe5a
commit
800eebd117
|
@ -107,6 +107,7 @@ COPY sa-rules.sh /usr/local/bin/sa-rules.sh
|
||||||
COPY maildir_gc.sh /usr/local/bin/maildir_gc.sh
|
COPY maildir_gc.sh /usr/local/bin/maildir_gc.sh
|
||||||
COPY docker-entrypoint.sh /
|
COPY docker-entrypoint.sh /
|
||||||
COPY supervisord.conf /etc/supervisor/supervisord.conf
|
COPY supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
|
COPY stop-supervisor.sh /usr/local/sbin/stop-supervisor.sh
|
||||||
|
|
||||||
RUN chmod +x /usr/local/lib/dovecot/sieve/rspamd-pipe-ham \
|
RUN chmod +x /usr/local/lib/dovecot/sieve/rspamd-pipe-ham \
|
||||||
/usr/local/lib/dovecot/sieve/rspamd-pipe-spam \
|
/usr/local/lib/dovecot/sieve/rspamd-pipe-spam \
|
||||||
|
@ -115,7 +116,8 @@ RUN chmod +x /usr/local/lib/dovecot/sieve/rspamd-pipe-ham \
|
||||||
/usr/local/bin/imapsync \
|
/usr/local/bin/imapsync \
|
||||||
/usr/local/bin/trim_logs.sh \
|
/usr/local/bin/trim_logs.sh \
|
||||||
/usr/local/bin/sa-rules.sh \
|
/usr/local/bin/sa-rules.sh \
|
||||||
/usr/local/bin/maildir_gc.sh
|
/usr/local/bin/maildir_gc.sh \
|
||||||
|
/usr/local/sbin/stop-supervisor.sh
|
||||||
|
|
||||||
RUN groupadd -g 5000 vmail \
|
RUN groupadd -g 5000 vmail \
|
||||||
&& groupadd -g 401 dovecot \
|
&& groupadd -g 401 dovecot \
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
printf "READY\n";
|
||||||
|
|
||||||
|
while read line; do
|
||||||
|
echo "Processing Event: $line" >&2;
|
||||||
|
kill -3 $(cat "/var/run/supervisord.pid")
|
||||||
|
done < /dev/stdin
|
|
@ -1,6 +1,7 @@
|
||||||
[supervisord]
|
[supervisord]
|
||||||
nodaemon=true
|
nodaemon=true
|
||||||
user=root
|
user=root
|
||||||
|
pidfile=/var/run/supervisord.pid
|
||||||
|
|
||||||
[program:syslog-ng]
|
[program:syslog-ng]
|
||||||
command=/usr/sbin/syslog-ng --foreground --no-caps
|
command=/usr/sbin/syslog-ng --foreground --no-caps
|
||||||
|
@ -17,3 +18,7 @@ autorestart=true
|
||||||
[program:cron]
|
[program:cron]
|
||||||
command=/usr/sbin/cron -f
|
command=/usr/sbin/cron -f
|
||||||
autorestart=true
|
autorestart=true
|
||||||
|
|
||||||
|
[eventlistener:processes]
|
||||||
|
command=/usr/local/sbin/stop-supervisor.sh
|
||||||
|
events=PROCESS_STATE_STOPPED, PROCESS_STATE_EXITED, PROCESS_STATE_FATAL
|
||||||
|
|
|
@ -48,6 +48,13 @@ COPY postfix.sh /opt/postfix.sh
|
||||||
COPY rspamd-pipe-ham /usr/local/bin/rspamd-pipe-ham
|
COPY rspamd-pipe-ham /usr/local/bin/rspamd-pipe-ham
|
||||||
COPY rspamd-pipe-spam /usr/local/bin/rspamd-pipe-spam
|
COPY rspamd-pipe-spam /usr/local/bin/rspamd-pipe-spam
|
||||||
COPY whitelist_forwardinghosts.sh /usr/local/bin/whitelist_forwardinghosts.sh
|
COPY whitelist_forwardinghosts.sh /usr/local/bin/whitelist_forwardinghosts.sh
|
||||||
|
COPY stop-supervisor.sh /usr/local/sbin/stop-supervisor.sh
|
||||||
|
|
||||||
|
RUN chmod +x /opt/postfix.sh \
|
||||||
|
/usr/local/bin/rspamd-pipe-ham \
|
||||||
|
/usr/local/bin/rspamd-pipe-spam \
|
||||||
|
/usr/local/bin/whitelist_forwardinghosts.sh \
|
||||||
|
/usr/local/sbin/stop-supervisor.sh
|
||||||
|
|
||||||
EXPOSE 588
|
EXPOSE 588
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
printf "READY\n";
|
||||||
|
|
||||||
|
while read line; do
|
||||||
|
echo "Processing Event: $line" >&2;
|
||||||
|
kill -3 $(cat "/var/run/supervisord.pid")
|
||||||
|
done < /dev/stdin
|
|
@ -13,3 +13,7 @@ autostart=true
|
||||||
[program:postfix]
|
[program:postfix]
|
||||||
command=/opt/postfix.sh
|
command=/opt/postfix.sh
|
||||||
autorestart=true
|
autorestart=true
|
||||||
|
|
||||||
|
[eventlistener:processes]
|
||||||
|
command=/usr/local/sbin/stop-supervisor.sh
|
||||||
|
events=PROCESS_STATE_STOPPED, PROCESS_STATE_EXITED, PROCESS_STATE_FATAL
|
||||||
|
|
|
@ -40,13 +40,18 @@ RUN mkdir /usr/share/doc/sogo \
|
||||||
&& echo '0 0 * * * sogo /usr/sbin/sogo-tool update-autoreply -p /etc/sogo/sieve.creds' >> /etc/cron.d/sogo \
|
&& echo '0 0 * * * sogo /usr/sbin/sogo-tool update-autoreply -p /etc/sogo/sieve.creds' >> /etc/cron.d/sogo \
|
||||||
&& touch /etc/default/locale
|
&& touch /etc/default/locale
|
||||||
|
|
||||||
COPY ./bootstrap-sogo.sh /
|
COPY ./bootstrap-sogo.sh /bootstrap-sogo.sh
|
||||||
COPY syslog-ng.conf /etc/syslog-ng/syslog-ng.conf
|
COPY syslog-ng.conf /etc/syslog-ng/syslog-ng.conf
|
||||||
COPY supervisord.conf /etc/supervisor/supervisord.conf
|
COPY supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
COPY theme-blue.js /usr/lib/GNUstep/SOGo/WebServerResources/js/theme-blue.js
|
COPY theme-blue.js /usr/lib/GNUstep/SOGo/WebServerResources/js/theme-blue.js
|
||||||
COPY theme-blue.css /usr/lib/GNUstep/SOGo/WebServerResources/css/theme-default.css
|
COPY theme-blue.css /usr/lib/GNUstep/SOGo/WebServerResources/css/theme-default.css
|
||||||
COPY sogo-full.svg /usr/lib/GNUstep/SOGo/WebServerResources/img/sogo-full.svg
|
COPY sogo-full.svg /usr/lib/GNUstep/SOGo/WebServerResources/img/sogo-full.svg
|
||||||
COPY acl.diff /acl.diff
|
COPY acl.diff /acl.diff
|
||||||
|
COPY stop-supervisor.sh /usr/local/sbin/stop-supervisor.sh
|
||||||
|
|
||||||
|
RUN chmod +x /bootstrap-sogo.sh \
|
||||||
|
/usr/local/sbin/stop-supervisor.sh
|
||||||
|
|
||||||
CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
|
CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
VOLUME /usr/lib/GNUstep/SOGo/
|
VOLUME /usr/lib/GNUstep/SOGo/
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
printf "READY\n";
|
||||||
|
|
||||||
|
while read line; do
|
||||||
|
echo "Processing Event: $line" >&2;
|
||||||
|
kill -3 $(cat "/var/run/supervisord.pid")
|
||||||
|
done < /dev/stdin
|
|
@ -26,3 +26,7 @@ priority=3
|
||||||
startretries=10
|
startretries=10
|
||||||
autorestart=true
|
autorestart=true
|
||||||
stopwaitsecs=120
|
stopwaitsecs=120
|
||||||
|
|
||||||
|
[eventlistener:processes]
|
||||||
|
command=/usr/local/sbin/stop-supervisor.sh
|
||||||
|
events=PROCESS_STATE_STOPPED, PROCESS_STATE_EXITED, PROCESS_STATE_FATAL
|
||||||
|
|
Loading…
Reference in New Issue