Skip to content

Commit

Permalink
Merge pull request #51 from yoyoma2/main
Browse files Browse the repository at this point in the history
add a generic sample notification and a DSM notification addon
  • Loading branch information
mag37 authored Jan 3, 2024
2 parents 80a81f5 + 2e620cd commit 9ead0fe
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 0 deletions.
3 changes: 3 additions & 0 deletions dockcheck.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ ScriptWorkDir="$(dirname "$ScriptPath")"
LatestRelease="$(curl -s -r 0-50 $RawUrl | sed -n "/VERSION/s/VERSION=//p" | tr -d '"')"
LatestChanges="$(curl -s -r 0-200 $RawUrl | sed -n "/ChangeNotes/s/### ChangeNotes: //p")"

[ -s $ScriptWorkDir/notify.sh ] && source $ScriptWorkDir/notify.sh

### Help Function:
Help() {
echo "Syntax: dockcheck.sh [OPTION] [part of name to filter]"
Expand Down Expand Up @@ -232,6 +234,7 @@ fi
if [[ -n ${GotUpdates[*]} ]] ; then
printf "\n%bContainers with updates available:%b\n" "$c_yellow" "$c_reset"
[[ -z "$AutoUp" ]] && options || printf "%s\n" "${GotUpdates[@]}"
[[ $(type -t send_notification) == function ]] && send_notification ${GotUpdates[@]}
fi

### Optionally get updates if there's any
Expand Down
29 changes: 29 additions & 0 deletions notify_DSM.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
### DISCLAIMER: This is a third party addition to dockcheck - best effort testing.
# Copy/rename this file to notify.sh to enable email notifications on synology DSM
# Modify to your liking - changing SendMailTo and Subject and content.

send_notification() {
Updates=("$@")
UpdToString=$( printf "%s\n" "${Updates[@]}" )
# change this to your usual destination for synology DSM notification emails
SendMailTo=me@mydomain.com
FromHost=$(hostname)

printf "\nSending email notification\n"

ssmtp $SendMailTo << __EOF
From: "$FromHost" <$SendMailTo>
date:$(date -R)
To: <$SendMailTo>
Subject: [diskstation] Some docker containers need to be updated
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
The following docker containers on $FromHost need to be updated:
$UpdToString
From $FromHost
__EOF
}
13 changes: 13 additions & 0 deletions notify_generic.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
### DISCLAIMER: This is a third party addition to dockcheck - best effort testing.
# Copy/rename this file to notify.sh to enable email/text notifications
# generic sample, the "Hello World" of notification addons

send_notification() {
Updates=("$@")
UpdToString=$( printf "%s\n" "${Updates[@]}" )
FromHost=$(hostname)

# platform specific notification code would go here
printf "\n%bGeneric notification addon:%b" "$c_green" "$c_reset"
printf "\nThe following docker containers on %s need to be updated:\n%s\n" "$FromHost" "$UpdToString"
}

0 comments on commit 9ead0fe

Please sign in to comment.