Add README with copy-paste client install for ntfyschwenkonline.
Documents per-host topic naming and manual token setup via the web UI. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,63 @@
|
|||||||
|
# ntfy.schwenk.online
|
||||||
|
|
||||||
|
Self-hosted [ntfy](https://ntfy.sh) push server behind Traefik.
|
||||||
|
|
||||||
|
## Server setup
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
docker exec -it ntfy.schwenk.online ntfy user add frank --role=admin
|
||||||
|
```
|
||||||
|
|
||||||
|
## Per-host notifications
|
||||||
|
|
||||||
|
Each machine posts to a topic derived from its FQDN (`hostname -f`, lowercased, dots → hyphens).
|
||||||
|
For example, `web01.example.com` publishes to topic `web01-example-com`.
|
||||||
|
|
||||||
|
1. Create a user and access token in the web UI at https://ntfy.schwenk.online
|
||||||
|
2. Grant that user read-write access to the host topic (e.g. `web01-example-com`)
|
||||||
|
3. Install the command below on the machine, replacing `tk_PASTE_YOUR_TOKEN_HERE`
|
||||||
|
|
||||||
|
### Install `ntfyschwenkonline` on a client
|
||||||
|
|
||||||
|
Replace the token, then copy and paste the whole block:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo tee /usr/local/bin/ntfyschwenkonline > /dev/null <<'EOF'
|
||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
NTFY_URL="https://ntfy.schwenk.online"
|
||||||
|
NTFY_TOKEN="tk_PASTE_YOUR_TOKEN_HERE"
|
||||||
|
|
||||||
|
topic() {
|
||||||
|
hostname -f | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9-]/-/g'
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$#" -gt 0 ]; then
|
||||||
|
message="$*"
|
||||||
|
elif [ -t 0 ]; then
|
||||||
|
echo "usage: ntfyschwenkonline [message]" >&2
|
||||||
|
echo " echo message | ntfyschwenkonline" >&2
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
message=$(cat)
|
||||||
|
fi
|
||||||
|
|
||||||
|
curl -fsS \
|
||||||
|
-H "Authorization: Bearer ${NTFY_TOKEN}" \
|
||||||
|
-H "Title: $(hostname -s)" \
|
||||||
|
-d "${message}" \
|
||||||
|
"${NTFY_URL}/$(topic)"
|
||||||
|
EOF
|
||||||
|
sudo chmod 755 /usr/local/bin/ntfyschwenkonline
|
||||||
|
```
|
||||||
|
|
||||||
|
### Use
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ntfyschwenkonline "backup finished"
|
||||||
|
echo "disk 95% full" | ntfyschwenkonline
|
||||||
|
```
|
||||||
|
|
||||||
|
Messages appear on the host topic in the ntfy web UI or any subscriber.
|
||||||
Reference in New Issue
Block a user