modified apprise-notify

This commit is contained in:
mag37 2024-01-06 20:33:21 +01:00
parent 6c37e255fb
commit 82f6442933
2 changed files with 19 additions and 17 deletions

View File

@ -35,7 +35,7 @@ ___
- Running docker (duh) and compose, either standalone or plugin.
- [`regclient/regctl`](https://github.com/regclient/regclient) (Licensed under [Apache-2.0 License](http://www.apache.org/licenses/LICENSE-2.0))
- User will be prompted to download `regctl` if not in `PATH` or `PWD`.
- regctl requires `amd64/aarch64` - see [workaround](#workaround-for-non-amd64--aarch64) if other architecture is used.
- regctl requires `amd64/arm64` - see [workaround](#workaround-for-non-amd64--arm64) if other architecture is used.
___
@ -81,6 +81,7 @@ After the updates are complete, you'll get prompted if you'd like to prune dangl
### :loudspeaker: Notifications
Trigger with the `-i` flag.
Run it scheduled with `-ni` to only get notified when there's updates available!
Use a `notify_X.sh` template file, copy it to `notify.sh`, modify it to your needs!
Current templates:
@ -89,8 +90,6 @@ Current templates:
- Apprise (with it's [multitude](https://github.com/caronc/apprise#supported-notifications) of notifications)
- both native [caronc/apprise](https://github.com/caronc/apprise) and the standalone [linuxserver/docker-apprise-api](https://github.com/linuxserver/docker-apprise-api)
Run it scheduled with `-ni` to only get notified when there's updates available!
Further additions are welcome - suggestions or PR!
Initiated and first contributed by [yoyoma2](https://github.com/yoyoma2).
@ -105,8 +104,8 @@ Containers need to be manually stopped, removed and created again to run on the
- Not respecting `--profile` options when re-creating the container.
- Not working well with containers created by Portainer.
### Workaround for non **amd64** / **aarch64**
`regctl` provides binaries for amd64/aarch64, to use on other architecture you could try this workaround.
### Workaround for non **amd64** / **arm64**
`regctl` provides binaries for amd64/arm64, to use on other architecture you could try this workaround.
Run regctl in a contianer wrapped in a shell script. Copied from [regclient/docs/install.md](https://github.com/regclient/regclient/blob/main/docs/install.md):
```sh

View File

@ -2,33 +2,36 @@
#
# Copy/rename this file to notify.sh to enable the notification snippet.
# Required receiving services must already be set up.
# Modify to fit your setup - set AppriseURL to your Apprise ip/domain.
# Modify to fit your setup - if API, set AppriseURL to your Apprise ip/domain.
send_notification() {
Updates=("$@")
UpdToString=$( printf "%s\n" "${Updates[@]}" )
FromHost=$(hostname)
AppriseURL="http://apprise.mydomain.tld:1234/notify/apprise"
printf "\nSending Apprise notification\n"
MessageTitle="$FromHost - updates available."
# Setting the MessageBody variable here.
read -d '\n' MessageBody << EOF
read -d '\n' MessageBody << __EOF
Containers on $FromHost with updates available:
$UpdToString
EOF
__EOF
# Modify to fit your setup:
apprise -vv -t "$MessageTitle" -b "$MessageBody" \
mailto://myemail:mypass@gmail.com \
mastodons://{token}@{host} \
pbul://o.gn5kj6nfhv736I7jC3cj3QLRiyhgl98b \
tgram://{bot_token}/{chat_id}/
### If you use the Apprise-API - Comment out the apprise command above.
### Uncomment the AppriseURL and the curl-line below:
# AppriseURL="http://apprise.mydomain.tld:1234/notify/apprise"
# curl -X POST -F "title=$MessageTitle" -F "body=$MessageBody" -F "tags=all" $AppriseURL
curl -X POST -F "title=$MessageTitle" -F "body=$MessageBody" -F "tags=all" $AppriseURL
}
# If you run apprise bare metal on the same machine as dockcheck
# you can just comment out the AppriseURL and swap the curl line
# with something ike this:
#
# apprise -vv -t "$MessageTitle" -b "$MessageBody" \
# 'mailto://myemail:mypass@gmail.com' \
# 'pbul://o.gn5kj6nfhv736I7jC3cj3QLRiyhgl98b'