service-update-alerts/README.md
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

70 lines
1.4 KiB
Markdown

# 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:
```bash
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:
```bash
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
```bash
python3 check_updates.py --config services.yaml
python3 check_updates.py --config services.yaml --all
```
## Tests
```bash
python -m pytest
```
To run live integration checks against the real services:
```bash
RUN_LIVE_TESTS=1 python -m pytest tests/test_live_services.py
```
## Systemd (user)
Copy the unit files and enable the timer:
```bash
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:
```bash
journalctl --user -u check-for-updates.service
```