Compare commits

...

2 Commits

Author SHA1 Message Date
Alaa Ali
37052d1377 Clarify -b and -p option interaction (#277) 2026-04-05 09:18:27 +02:00
Robin Ivehult
2c04644b09 Bugfix and tag support in Apprise template + extras. (#276)
* added tag-support to Apprise API-call

* tried to clarify case on notification settings
2026-03-30 08:26:16 +02:00
4 changed files with 18 additions and 20 deletions

View File

@@ -67,7 +67,7 @@ Example: dockcheck.sh -y -x 10 -d 10 -e nextcloud,heimdall
Options: Options:
-a|y Automatic updates, without interaction. -a|y Automatic updates, without interaction.
-b N Enable image backups and sets number of days to keep from pruning. -b N Enable image backups and sets number of days to keep from pruning. Ignores -p auto-prune.
-B List currently backed up images, then exit. -B List currently backed up images, then exit.
-c D Exports metrics as prom file for the prometheus node_exporter. Provide the collector textfile directory. -c D Exports metrics as prom file for the prometheus node_exporter. Provide the collector textfile directory.
-d N Only update to new images that are N+ days old. Lists too recent with +prefix and age. 2xSlower. -d N Only update to new images that are N+ days old. Lists too recent with +prefix and age. 2xSlower.
@@ -81,7 +81,7 @@ Options:
-m Monochrome mode, no printf colour codes and hides progress bar. -m Monochrome mode, no printf colour codes and hides progress bar.
-M Prints custom releasenote urls as markdown (requires template support). -M Prints custom releasenote urls as markdown (requires template support).
-n No updates, only checking availability. -n No updates, only checking availability.
-p Auto-Prune dangling images after update. -p Auto-Prune dangling images after update. Ignored when -b is used.
-r Allow checking/updating images created by `docker run`, containers need to be recreated manually. -r Allow checking/updating images created by `docker run`, containers need to be recreated manually.
-R Skip container recreation after pulling images. -R Skip container recreation after pulling images.
-s Include stopped containers, returns to stopped state after recreation. -s Include stopped containers, returns to stopped state after recreation.
@@ -238,19 +238,19 @@ Further additions are welcome - suggestions or PRs!
All required environment variables for each notification channel are provided in the default.config file as comments and must be uncommented and modified for your requirements. All required environment variables for each notification channel are provided in the default.config file as comments and must be uncommented and modified for your requirements.
For advanced users, additional functionality is available via custom configurations and environment variables. For advanced users, additional functionality is available via custom configurations and environment variables.
Use cases - all configured in `dockcheck.config`: Use cases - all configured in `dockcheck.config`:
(replace `<channel>` with the upper case name of the of the channel as listed in (replace `<CHANNEL>` with the upper case name of the of the channel as listed in
`NOTIFY_CHANNELS` variable, eg `TELEGRAM_SKIPSNOOZE`) `NOTIFY_CHANNELS` variable, eg `TELEGRAM_SKIPSNOOZE`)
- To bypass the snooze feature, even when enabled, add the variable `<channel>_SKIPSNOOZE` and set it to `true`. - To bypass the snooze feature, even when enabled, add the variable `<CHANNEL>_SKIPSNOOZE` and set it to `true`.
- To configure the channel to only send container update notifications, add the variable `<channel>_CONTAINERSONLY` and set it to `true`. - To configure the channel to only send container update notifications, add the variable `<CHANNEL>_CONTAINERSONLY` and set it to `true`.
- To send notifications even when there are no updates available, add the variable `<channel>_ALLOWEMPTY` and set it to `true`. - To send notifications even when there are no updates available, add the variable `<CHANNEL>_ALLOWEMPTY` and set it to `true`.
- To use another notification output format, add the variable `<channel>_OUTPUT` and set it to `csv`, `json`, or `text`. If unset or set to an invalid value, defaults to `text`. - To use another notification output format, add the variable `<CHANNEL>_OUTPUT` and set it to `csv`, `json`, or `text`. If unset or set to an invalid value, defaults to `text`.
- To send multiple notifications using the same notification template: - To send multiple notifications using the same notification template:
- Strings in the `NOTIFY_CHANNELS` list are now treated as unique names and do not necessarily refer to the notification template that will be called, though they do by default. - Strings in the `NOTIFY_CHANNELS` list are now treated as unique names and do not necessarily refer to the notification template that will be called, though they do by default.
- Add another notification channel to `NOTIFY_CHANNELS` in `dockcheck.config`. The name can contain upper and lower case letters, numbers and underscores, but can't start with a number. - Add another notification channel to `NOTIFY_CHANNELS` in `dockcheck.config`. The name can contain upper and lower case letters, numbers and underscores, but can't start with a number.
- Add the variable `<channel>_TEMPLATE` to `dockcheck.config` where `<channel>` is the name of the channel added above and set the value to an available notification template script (`slack`, `apprise`, `gotify`, etc.) - Add the variable `<CHANNEL>_TEMPLATE` to `dockcheck.config` where `<CHANNEL>` is the name of the channel added above and set the value to an available notification template script (`slack`, `apprise`, `gotify`, etc.)
- Add all other environment variables required for the chosen template to function with `<channel>` in upper case as the prefix rather than the template name. - Add all other environment variables required for the chosen template to function with `<CHANNEL>` in upper case as the prefix rather than the template name.
- For example, if `<channel>` is `mynotification` and the template configured is `slack`, you would need to set `MYNOTIFICATION_CHANNEL_ID` and `MYNOTIFICATION_ACCESS_TOKEN`. - For example, if `<CHANNEL>` is `mynotification` and the template configured is `slack`, you would need to set `MYNOTIFICATION_CHANNEL_ID` and `MYNOTIFICATION_ACCESS_TOKEN`.
#### Release notes addon #### Release notes addon
@@ -295,6 +295,8 @@ The backed up images will be removed if they're older than *BackupForDays* value
If configured for eg. 7 days, force earlier cleaning by just passing a lower number of days, eg. `-b 2` to clean everything older than 2 days. If configured for eg. 7 days, force earlier cleaning by just passing a lower number of days, eg. `-b 2` to clean everything older than 2 days.
Backed up images will not be removed if neither `-b` flag nor `BackupForDays` config variable is set. Backed up images will not be removed if neither `-b` flag nor `BackupForDays` config variable is set.
When backups are enabled, the `-p` auto-prune option is ignored to preserve backed up images.
Use the capital option `-B` to list currently backed up images. Or list all images with `docker images`. Use the capital option `-B` to list currently backed up images. Or list all images with `docker images`.
To manually remove any backed up images, do `docker rmi dockcheck/homer:2025-10-26_1132_latest`. To manually remove any backed up images, do `docker rmi dockcheck/homer:2025-10-26_1132_latest`.

View File

@@ -51,6 +51,7 @@
# pbul://o.gn5kj6nfhv736I7jC3cj3QLRiyhgl98b # pbul://o.gn5kj6nfhv736I7jC3cj3QLRiyhgl98b
# tgram://{bot_token}/{chat_id}/' # tgram://{bot_token}/{chat_id}/'
# APPRISE_URL="http://apprise.mydomain.tld:1234/notify/apprise" # APPRISE_URL="http://apprise.mydomain.tld:1234/notify/apprise"
# APPRISE_TAG="one_tag,othertag" # Only works with the URL API and need to setup tags within Apprise
# #
# BARK_KEY="key-value" # BARK_KEY="key-value"
# #

View File

@@ -34,7 +34,7 @@ Help() {
echo echo
echo "Options:" echo "Options:"
echo "-a|y Automatic updates, without interaction." echo "-a|y Automatic updates, without interaction."
echo "-b N Enable image backups and sets number of days to keep from pruning." echo "-b N Enable image backups and sets number of days to keep from pruning. Ignores -p auto-prune."
echo "-B List currently backed up images, then exit." echo "-B List currently backed up images, then exit."
echo "-c D Exports metrics as prom file for the prometheus node_exporter. Provide the collector textfile directory." echo "-c D Exports metrics as prom file for the prometheus node_exporter. Provide the collector textfile directory."
echo "-d N Only update to new images that are N+ days old. Lists too recent with +prefix and age. 2xSlower." echo "-d N Only update to new images that are N+ days old. Lists too recent with +prefix and age. 2xSlower."
@@ -48,7 +48,7 @@ Help() {
echo "-m Monochrome mode, no printf colour codes and hides progress bar." echo "-m Monochrome mode, no printf colour codes and hides progress bar."
echo "-M Prints custom releasenote urls as markdown (requires template support)." echo "-M Prints custom releasenote urls as markdown (requires template support)."
echo "-n No updates; only checking availability without interaction." echo "-n No updates; only checking availability without interaction."
echo "-p Auto-prune dangling images after update." echo "-p Auto-prune dangling images after update. Ignored when -b is used."
echo "-r Allow checking/updating images created by 'docker run', containers need to be recreated manually." echo "-r Allow checking/updating images created by 'docker run', containers need to be recreated manually."
echo "-R Skip container recreation after pulling images." echo "-R Skip container recreation after pulling images."
echo "-s Include stopped containers, returns to stopped state after recreation." echo "-s Include stopped containers, returns to stopped state after recreation."

View File

@@ -1,5 +1,5 @@
### DISCLAIMER: This is a third party addition to dockcheck - best effort testing. ### DISCLAIMER: This is a third party addition to dockcheck - best effort testing.
NOTIFY_APPRISE_VERSION="v0.4" NOTIFY_APPRISE_VERSION="v0.5"
# #
# Required receiving services must already be set up. # Required receiving services must already be set up.
# Leave (or place) this file in the "notify_templates" subdirectory within the same directory as the main dockcheck.sh script. # Leave (or place) this file in the "notify_templates" subdirectory within the same directory as the main dockcheck.sh script.
@@ -35,17 +35,12 @@ trigger_apprise_notification() {
fi fi
fi fi
# e.g. APPRISE_PAYLOAD='mailto://myemail:mypass@gmail.com
# mastodons://{token}@{host}
# pbul://o.gn5kj6nfhv736I7jC3cj3QLRiyhgl98b
# tgram://{bot_token}/{chat_id}/'
if [[ -n "${!AppriseUrlVar:-}" ]]; then if [[ -n "${!AppriseUrlVar:-}" ]]; then
AppriseURL="${!AppriseUrlVar}" AppriseURL="${!AppriseUrlVar}"
curl -S -o /dev/null ${CurlArgs} -X POST -F "title=$MessageTitle" -F "body=$MessageBody" -F "tags=all" $AppriseURL # e.g. APPRISE_URL=http://apprise.mydomain.tld:1234/notify/apprise curl -S -o /dev/null ${CurlArgs} -X POST -F "title=$MessageTitle" -F "body=$MessageBody" -F "tags=${APPRISE_TAG:-all}" "$AppriseURL"
if [[ $? -gt 0 ]]; then if [[ $? -gt 0 ]]; then
NotifyError=true NotifyError=true
fi fi
fi fi
} }