No description
Find a file
Jeena 86268107fa classifier: Add fallback model for transient LLM failures
The 26b model occasionally hangs or fails outright on the local Ollama
box, which used to drop every such update into 'manual' for no good
reason. Retry the same prompt with a smaller model before giving up,
and surface both errors when even the fallback fails.

OLLAMA_FALLBACK_MODEL is new config, see .env.sample.
2026-10-06 22:10:07 +09:00
services freshrss: Add deploy script, context & classifier examples 2026-09-14 07:25:31 +00:00
systemd fix: Wait for network before running update checks 2026-05-17 06:13:35 +00:00
tests feat: Add AI-driven auto-update & restructure into package 2026-04-09 12:49:57 +00:00
update_monitor classifier: Add fallback model for transient LLM failures 2026-10-06 22:10:07 +09:00
.env.sample classifier: Add fallback model for transient LLM failures 2026-10-06 22:10:07 +09:00
.gitignore chore: Ignore all egg-info directories in .gitignore 2026-03-19 04:20:30 +00:00
AGENTS.md feat: Add update checker tooling 2026-03-12 12:50:08 +00:00
BACKLOG.md feat: Add Uptime Kuma version check via Socket.IO 2026-03-19 04:17:18 +00:00
pyproject.toml feat: Add Uptime Kuma version check via Socket.IO 2026-03-19 04:17:18 +00:00
README.md feat: Add Uptime Kuma version check via Socket.IO 2026-03-19 04:17:18 +00:00
test_classifier.py classifier: Point at gemma4:26b and retry transient fetches 2026-09-14 05:37:37 +00:00

service-update-alerts

Small Python script to compare running service versions against upstream releases.

Requirements

  • Python 3.10+

Setup

Create and activate a virtual environment, then install dependencies:

python -m venv .venv
source .venv/bin/activate
pip install -e .[dev]

Copy .env.sample to .env and fill required values. Export the variables before running the script:

export PAPERLESS_API_TOKEN=...
export FRESHRSS_USERNAME=...
export FRESHRSS_PASSWORD=...
export MATRIX_HOMESERVER=...
export MATRIX_ROOM_ID=...
export MATRIX_ACCESS_TOKEN=...
export UPTIME_KUMA_PUSH_URL=...
export UPTIME_KUMA_USERNAME=...
export UPTIME_KUMA_PASSWORD=...

The script also reads .env automatically if present.

The Matrix bot will attempt to join the configured room automatically if it is not already a member.

Usage

python3 check_updates.py --config services.yaml
python3 check_updates.py --config services.yaml --all

Tests

python -m pytest

To run live integration checks against the real services:

RUN_LIVE_TESTS=1 python -m pytest tests/test_live_services.py

Systemd (user)

Copy the unit files and enable the timer:

mkdir -p ~/.config/systemd/user
cp systemd/service-update-alerts.service ~/.config/systemd/user/
cp systemd/service-update-alerts.timer ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now service-update-alerts.timer

View logs:

journalctl --user -u service-update-alerts.service