No description
  • Python 80.7%
  • JavaScript 14.1%
  • Shell 3%
  • Dockerfile 1.1%
  • HTML 0.6%
  • Other 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Joan Marc Riera Duocastella 28e6c00378 docs: add license badge
2026-07-10 11:40:45 +01:00
.agents/workflows docs: add junk file guardrail and update lessons learned 2026-03-05 09:33:09 +00:00
archive/google-maps-overlay move to clean up 2026-03-05 00:02:45 +00:00
config feat: complete Website Monitoring project source code 2026-03-05 09:30:41 +00:00
docker chore(task): Complete task 010 - dockerfile 2026-03-05 07:29:41 +00:00
scripts feat: complete Website Monitoring project source code 2026-03-05 09:30:41 +00:00
src feat: complete Website Monitoring project source code 2026-03-05 09:30:41 +00:00
tasks feat: complete Website Monitoring project source code 2026-03-05 09:30:41 +00:00
tests feat: complete Website Monitoring project source code 2026-03-05 09:30:41 +00:00
.env.example chore(task): Complete task 008 - main-runner 2026-03-05 07:19:43 +00:00
.env.example meet the user's requirements. chore(task): Complete task 019 - env-example-file 2026-03-05 07:25:11 +00:00
.gitignore lessons learned, prepare to iterate. 2026-03-04 23:52:22 +00:00
.python-version first attempt 2026-03-04 21:13:04 +00:00
assert "Report Date" in report_text chore(task): Complete task 018 - test-report-generator 2026-03-05 07:23:49 +00:00
CLAUDE.md docs: add CLAUDE.md, task-metrics workflow, update task-schema 2026-03-05 09:30:52 +00:00
LICENSE chore: add MIT license 2026-07-10 11:40:43 +01:00
main.py first attempt 2026-03-04 21:13:04 +00:00
orchestrator.py feat(orchestrator): standardized metrics on every completed task 2026-03-05 09:30:46 +00:00
Project Structure chore(task): Complete task 011 - setup-script 2026-03-05 07:37:56 +00:00
pyproject.toml running the new pet project. 2026-03-05 00:12:09 +00:00
README.md docs: add license badge 2026-07-10 11:40:45 +01:00
requirements.txt chore(task): Complete task 020 - requirements-txt 2026-03-05 07:25:14 +00:00
save_report(report, "reports_output") chore(task): Complete task 018 - test-report-generator 2026-03-05 07:23:49 +00:00
TESTING.md we don't see the overlay 2026-03-04 23:12:25 +00:00
To run the service, use Docker Compose chore(task): Complete task 011 - setup-script 2026-03-05 07:37:56 +00:00
uv.lock chore(task): Complete task 001 - sites-config-schema 2026-03-05 00:22:08 +00:00

Website Monitoring & Maintenance Service

License: MIT

Automated website health monitoring with uptime checks, SSL certificate validation, page speed analysis, configurable alerts, and automated reports.

Features

  • Uptime Monitoring — checks site availability and response times
  • SSL Certificate Checking — warns before certificates expire
  • Page Speed Analysis — measures load times and page sizes
  • Configurable Alerts — webhook notifications for downtime and SSL issues
  • Automated Reports — daily JSON and plain-text reports

Quick Start

  1. Clone the repo
  2. Run bash scripts/setup.sh
  3. Edit config/sites.yaml with your sites
  4. Run python src/monitor/runner.py

Configuration

Edit config/sites.yaml to define monitored sites:

sites:
  - name: "Example Corp"
    url: "https://example.com"
    check_interval_minutes: 5
    alert_threshold_ms: 3000
    ssl_expiry_warning_days: 30

Each site requires: name, url, check_interval_minutes, alert_threshold_ms, ssl_expiry_warning_days.

Docker

cd docker
docker compose up --build

This starts Uptime Kuma (port 3001) and the monitoring service.

Project Structure

src/
  monitor/
    config_loader.py    # Load and validate sites.yaml
    uptime_checker.py   # HTTP availability checks
    ssl_checker.py      # SSL certificate expiry checks
    speed_checker.py    # Page load speed checks
    runner.py           # Main orchestrator
    logger.py           # Logging configuration
  alerts/
    alert_engine.py     # Alert evaluation and webhooks
  reports/
    report_generator.py # Report generation (JSON + text)
config/
  sites.yaml            # Site definitions
  schema.yaml           # Config schema
docker/
  docker-compose.yml    # Docker services
  Dockerfile            # App container
scripts/
  setup.sh              # Project setup script
tests/
  test_config_loader.py
  test_uptime_checker.py
  test_alert_engine.py
  test_report_generator.py