Skip to content

Commit

Permalink
Allow for configuring watch directory in container
Browse files Browse the repository at this point in the history
  • Loading branch information
jb3 committed Jun 9, 2024
1 parent c772120 commit 9ddea3b
Showing 1 changed file with 19 additions and 9 deletions.
28 changes: 19 additions & 9 deletions monitor.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,37 @@

set -exo pipefail

if [ -z ${HOOK_SCRIPT+x} ]; then
echo "Missing HOOK_SCRIPT environment variable, set it to the script to run upon file changes";
if [ -z ${INOTIFY_HOOK_SCRIPT+x} ]; then
echo "Missing INOTIFY_HOOK_SCRIPT environment variable, set it to the script to run upon file changes";
exit 1;
else
if ! test -f $HOOK_SCRIPT; then
echo "The file pointed to by HOOK_SCRIPT does not exist, check your container mounts.";
if ! test -f $INOTIFY_HOOK_SCRIPT; then
echo "The file pointed to by INOTIFY_HOOK_SCRIPT does not exist, check your container mounts.";
exit 1;
fi;

if ! test -x $HOOK_SCRIPT; then
echo "HOOK_SCRIPT is not an executable file (missing +x bit), check file permissions of the hook script."
if ! test -x $INOTIFY_HOOK_SCRIPT; then
echo "INOTIFY_HOOK_SCRIPT is not an executable file (missing +x bit), check file permissions of the hook script."
exit 1;
fi;
fi;

if [ -n "$WATCH_EVENTS" ]; then
ADDITIONAL_ARGS="-e $WATCH_EVENTS"
ADDITIONAL_ARGS="-e $INOTIFY_WATCH_EVENTS"
else
ADDITIONAL_ARGS=""
fi

while inotifywait $ADDITIONAL_ARGS -r /opt/monitor; do
$HOOK_SCRIPT
if [ -n "$INOTIFY_WATCH_DIRECTORY" ]; then
WATCH_DIR="$INOTIFY_WATCH_DIRECTORY"
else
WATCH_DIR="/opt/monitor"
fi

while inotifywait $ADDITIONAL_ARGS -r $WATCH_DIR; do
if [ -z ${INOTIFY_HOOK_DELAY+x} ]; then
echo "Waiting $INOTIFY_HOOK_DELAY until executing hook..."
sleep $INOTIFY_HOOK_DELAY
fi
$INOTIFY_HOOK_SCRIPT
done;

0 comments on commit 9ddea3b

Please sign in to comment.