NobGit
public nobgit read

NobMail

Based on mailcow: dockerized

Languages

Repository composition by tracked source files.

PHP
PHP 49% JavaScript 35% HTML 9% CSS 4% Shell 2% Python 1% Lua 0% Perl 0% Ruby 0% SCSS 0%
Create file Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git

Commit

[Watchdog] Fix kill -0 check, use tini and send kill request to tini instead of parent pid, sleep longer

ac413058
AndrĂ© <[email protected]> 9 years ago
data/Dockerfiles/watchdog/Dockerfile  |   3 ++-
 data/Dockerfiles/watchdog/tini        | Bin 0 -> 19968 bytes
 data/Dockerfiles/watchdog/watchdog.sh |   7 +++----
 3 files changed, 5 insertions(+), 5 deletions(-)
 create mode 100755 data/Dockerfiles/watchdog/tini

Diff

diff --git a/data/Dockerfiles/watchdog/Dockerfile b/data/Dockerfiles/watchdog/Dockerfile
index 457169de..9eb88335 100644
--- a/data/Dockerfiles/watchdog/Dockerfile
+++ b/data/Dockerfiles/watchdog/Dockerfile
@@ -1,5 +1,4 @@
 FROM alpine:3.6
-
 LABEL maintainer "AndrĂ© Peters <[email protected]>"
 
 # Installation
@@ -23,10 +22,12 @@ RUN apk add --update \
 	perl-socket6 \
 	perl-mime-lite \
 	perl-term-readkey \
+  tini \
 	&& curl https://raw.githubusercontent.com/mludvig/smtp-cli/v3.8/smtp-cli -o /smtp-cli \
 	&& chmod +x smtp-cli
 
 COPY watchdog.sh /watchdog.sh
 
+ENTRYPOINT ["/sbin/tini", "-g", "--"]
 # Less verbose
 CMD /watchdog.sh 2> /dev/null
diff --git a/data/Dockerfiles/watchdog/tini b/data/Dockerfiles/watchdog/tini
new file mode 100755
index 00000000..6556c966
Binary files /dev/null and b/data/Dockerfiles/watchdog/tini differ
diff --git a/data/Dockerfiles/watchdog/watchdog.sh b/data/Dockerfiles/watchdog/watchdog.sh
index 03b2b4fb..470025de 100755
--- a/data/Dockerfiles/watchdog/watchdog.sh
+++ b/data/Dockerfiles/watchdog/watchdog.sh
@@ -2,7 +2,6 @@
 
 trap "exit" INT TERM
 trap "kill 0" EXIT
-PARENT_PID=$$
 
 # Prepare
 BACKGROUND_TASKS=()
@@ -351,12 +350,12 @@ BACKGROUND_TASKS+=($!)
 (
 while true; do
   for bg_task in ${BACKGROUND_TASKS[*]}; do
-    if ! kill -0 ${bg_task} 21>&2; then
+    if ! kill -0 ${bg_task} 1>&2; then
       echo "Worker ${bg_task} died, stopping watchdog and waiting for respawn..."
       log_to_redis "Worker ${bg_task} died, stopping watchdog and waiting for respawn..."
-      kill -TERM ${PARENT_PID}
+      kill -TERM 1
     fi
-    sleep 1
+    sleep 10
   done
 done
 ) &