mirror of
https://github.com/mag37/dockcheck.git
synced 2026-02-14 23:38:15 +01:00
This change adds an optional pre-commit configuration that can be used to keep the code style clean. I've also run it across all files and fixed numerous whitespaces issues. To use it, if wanted, just clone / pull the repo as normal, go into the folder and run: ``` pre-commit install ``` From that point on, when running `git commit`, it will run the checks on any changed files. Feel free to ignore this PR if you're not interested.
130 lines
4.1 KiB
Markdown
130 lines
4.1 KiB
Markdown
# A small guide on getting started with Apprise notifications.
|
|
|
|
|
|
## Standalone docker container: [linuxserver/apprise-api](https://hub.docker.com/r/linuxserver/apprise-api)
|
|
|
|
Set up the docker compose as preferred:
|
|
```yaml
|
|
---
|
|
version: "2.1"
|
|
services:
|
|
apprise-api:
|
|
image: lscr.io/linuxserver/apprise-api:latest
|
|
container_name: apprise-api
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Etc/UTC
|
|
volumes:
|
|
- /path/to/apprise-api/config:/config
|
|
ports:
|
|
- 8000:8000
|
|
restart: unless-stopped
|
|
```
|
|
|
|
Then browse to the webui.
|
|

|
|
Here you'll click **Configuration Manager**, read the overview and then click on **Configuration**.
|
|
Under **Configuration** you'll craft/paste your notification config.
|
|
|
|

|
|
The simplest way is just paste the url's as is (like in the example above).
|
|
There are many ways to customize with tags, groups, json and more. Read [caronc/apprise-api](https://github.com/caronc/apprise-api) for more info!
|
|
|
|
Look at the [apprise wiki: Notification Services](https://github.com/caronc/apprise/wiki) for more info about how the url syntax for different services works.
|
|
|
|
|
|
You can also use the [caronc/apprise-api](https://github.com/caronc/apprise-api) to host the api as a frontend to an already existing **Apprise**-setup on the host.
|
|
|
|
|
|
### Customize the **notify.sh** file.
|
|
After you're done with the setup of the container and tried your notifications, you can copy the `notify_apprise.sh` file to `notify.sh` and start editing it.
|
|
|
|
Comment out/remove the bare metal apprise-command (starting with `apprise -vv -t...`).
|
|
Uncomment and edit the `AppriseURL` variable and *curl* line
|
|
It should look something like this when curling the API:
|
|
```bash
|
|
send_notification() {
|
|
Updates=("$@")
|
|
UpdToString=$( printf "%s\n" "${Updates[@]}" )
|
|
FromHost=$(hostname)
|
|
|
|
printf "\nSending Apprise notification\n"
|
|
|
|
MessageTitle="$FromHost - updates available."
|
|
# Setting the MessageBody variable here.
|
|
read -d '\n' MessageBody << __EOF
|
|
Containers on $FromHost with updates available:
|
|
|
|
$UpdToString
|
|
|
|
__EOF
|
|
|
|
AppriseURL="http://IP.or.mydomain.tld:8000/notify/apprise"
|
|
curl -X POST -F "title=$MessageTitle" -F "body=$MessageBody" -F "tags=all" $AppriseURL
|
|
|
|
}
|
|
```
|
|
|
|
That's all!
|
|
___
|
|
___
|
|
|
|
|
|
## On host installed **Apprise**
|
|
Follow the official guide on [caronc/apprise](https://github.com/caronc/apprise)!
|
|
|
|
### A brief, basic "get started"
|
|
|
|
- Install **apprise**
|
|
- python package `pip install apprise`
|
|
- packaged in EPEL/Fedora `dnf install apprise`
|
|
- packaged in AUR `[yay/pikaur/paru/other] apprise`
|
|
|
|
- Create a config file with your notification credentials (source of notifications):
|
|
```ini
|
|
mailto://user:password@yahoo.com
|
|
slack://token_a/token_b/token_c
|
|
kodi://example.com
|
|
```
|
|
Then either source the notifications with `-c=/path/to/config/apprise` or store them in *PATH* to skip referencing (`~/.apprise` or `~/.config/apprise`).
|
|
|
|
- Test apprise with a single notification:
|
|
- `apprise -vv -t 'test title' -b 'test notification body' 'mailto://myemail:mypass@gmail.com'`
|
|
- Set up your notification URL's and test them.
|
|
- Look at the [apprise wiki: Notification Services](https://github.com/caronc/apprise/wiki) for more info about how the url syntax for different services works.
|
|
|
|
### When done, customize the **notify.sh** file.
|
|
After you're done with the setup of the container and tried your notifications, you can copy the `notify_apprise.sh` file to `notify.sh` and start editing it.
|
|
|
|
Replace the url's corresponding to the services you've configured.
|
|
```bash
|
|
send_notification() {
|
|
Updates=("$@")
|
|
UpdToString=$( printf "%s\n" "${Updates[@]}" )
|
|
FromHost=$(hostname)
|
|
|
|
printf "\nSending Apprise notification\n"
|
|
|
|
MessageTitle="$FromHost - updates available."
|
|
# Setting the MessageBody variable here.
|
|
read -d '\n' MessageBody << __EOF
|
|
Containers on $FromHost with updates available:
|
|
|
|
$UpdToString
|
|
|
|
__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}/
|
|
|
|
}
|
|
```
|
|
|
|
That's all!
|
|
___
|
|
___
|