service-update-alerts/services/grafana
Jeena ea90b8569b feat: Add Grafana auto-update & improve classifier
Add auto-update for Grafana on Synology via SSH + docker compose,
with review examples and a context.txt describing the specific setup
(Prometheus + Node Exporter, no plugins) so the classifier can
ignore plugin-only breaking changes.

The classifier now loads an optional context.txt per service to
tailor decisions to the actual deployment. It also truncates large
release notes intelligently, keeping important sections (breaking
changes, deprecations, migration notes) while dropping long PR
lists that add no signal.

test_classifier.py now also loads context.txt and accepts any
service name as argument.
2026-04-13 03:57:22 +00:00
..
review-examples feat: Add Grafana auto-update & improve classifier 2026-04-13 03:57:22 +00:00
auto-update.sh feat: Add Grafana auto-update & improve classifier 2026-04-13 03:57:22 +00:00
config.yaml feat: Add AI-driven auto-update & restructure into package 2026-04-09 12:49:57 +00:00
context.txt feat: Add Grafana auto-update & improve classifier 2026-04-13 03:57:22 +00:00
README.md feat: Add Grafana auto-update & improve classifier 2026-04-13 03:57:22 +00:00

Grafana auto-update setup

Grafana runs in Docker on a Synology NAS (192.168.1.30) via Container Manager.

Prerequisites

The auto-update script SSHes into the Synology and runs docker compose pull && up -d. For this to work without sudo, the SSH user needs to be in the docker group.

One-time Synology setup

ssh jeena@192.168.1.30
sudo synogroup --add docker
sudo synogroup --memberadd docker jeena
sudo chown root:docker /var/run/docker.sock
exit

Log out and back in (new SSH session) for the group to take effect. This persists through DSM updates and reboots.

Verify

ssh jeena@192.168.1.30 '/usr/local/bin/docker ps'

Should list containers without permission errors.

Notes

  • Docker is at /usr/local/bin/docker on Synology (not in PATH for non-interactive SSH)
  • The compose project is at /volume1/docker/monitoring/
  • context.txt tells the AI classifier this is a simple Prometheus + Node Exporter setup with no plugins, so plugin-only breaking changes are classified as auto