No description
Find a file
Jeena 413766ed2b feat: Add scheduled runs and Kuma ping
Add systemd user units for daily execution and send an Uptime Kuma push on each run.
2026-03-12 15:34:00 +00:00
systemd feat: Add scheduled runs and Kuma ping 2026-03-12 15:34:00 +00:00
tests feat: Add authenticated service checks 2026-03-12 13:57:37 +00:00
.env.sample feat: Add scheduled runs and Kuma ping 2026-03-12 15:34:00 +00:00
.gitignore feat: Add authenticated service checks 2026-03-12 13:57:37 +00:00
AGENTS.md feat: Add update checker tooling 2026-03-12 12:50:08 +00:00
BACKLOG.md feat: Add scheduled runs and Kuma ping 2026-03-12 15:34:00 +00:00
check_updates.py feat: Add scheduled runs and Kuma ping 2026-03-12 15:34:00 +00:00
pyproject.toml feat: Add authenticated service checks 2026-03-12 13:57:37 +00:00
README.md feat: Add scheduled runs and Kuma ping 2026-03-12 15:34:00 +00:00
services.yaml feat: Drop Radicale checks 2026-03-12 14:20:51 +00:00

check-for-updates

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=...

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/check-for-updates.service ~/.config/systemd/user/
cp systemd/check-for-updates.timer ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now check-for-updates.timer

View logs:

journalctl --user -u check-for-updates.service