Files
truenas-catalog-notify/README.md
LockeShor abf7d58157
All checks were successful
Docker Image / build (push) Successful in 1m2s
add screenshots
2026-03-02 16:51:08 -05:00

1.8 KiB

truenas-catalog-notify

Lightweight TrueNAS Apps catalog watcher that sends Telegram alerts when the catalog changes.

What it tracks

The watcher pulls https://apps.truenas.com/catalog over plain HTTP (no browser/emulation), parses app cards, and compares these fields against a saved snapshot:

  • app name
  • app URL
  • train
  • added date
  • summary text

On changes, it sends Telegram messages with:

  • one detailed message per newly added app (name, URL, train, added date, catalog summary, and page title)
  • screenshot images from the app page, posted as Telegram photos (up to the configured per-app limit)
  • removed apps (-)
  • updated apps (~) and field-level diffs

Environment variables

  • TELEGRAM_BOT_TOKEN (required for notifications)
  • TELEGRAM_CHAT_ID (required for notifications)
  • CHECK_INTERVAL_SECONDS (default: 1800)
  • STATE_PATH (default: /data/catalog_state.json)
  • CATALOG_URL (default: https://apps.truenas.com/catalog)
  • REQUEST_TIMEOUT_SECONDS (default: 30)
  • LOG_LEVEL (default: INFO)
  • MAX_SCREENSHOTS_PER_APP (default: 3)

Build

docker build -t truenas-catalog-notify .

Run

docker run -d \
  --name truenas-catalog-notify \
  -e TELEGRAM_BOT_TOKEN=123456:ABC... \
  -e TELEGRAM_CHAT_ID=123456789 \
  -e CHECK_INTERVAL_SECONDS=1800 \
  -v truenas-catalog-notify-data:/data \
  --restart unless-stopped \
  truenas-catalog-notify

Notes

  • First run only stores the initial snapshot (no notification).
  • Notifications start when a later check differs from the saved snapshot.
  • If Telegram variables are missing, the watcher logs changes but skips sending messages.
  • If you hit permissions on /data/catalog_state.json, rebuild and recreate the container with the latest image.

Rebuild after changes

docker compose build --no-cache
docker compose up -d --force-recreate