Skip to content

Latest commit

 

History

115 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Uptime Monitor Bundle

CI Packagist Version Packagist Downloads License PHP Symfony GitHub stars Coverage

Found this useful? Give it a star on GitHub! It helps us maintain and improve the project.

Symfony bundle for synthetic uptime monitoring (Uptime Kuma–style): scheduled checks, detail retention, perpetual aggregates, multi-tenant dashboard with polling sync, public status page, and notifications.

📋 Compatible with Symfony 7.4+ and 8.x (PHP 8.2+)

FrankenPHP Friendly Worker Mode

This bundle is FrankenPHP worker mode friendly.

Features

  • ✅ HTTP/HTTPS, TCP, DNS, SSL certificate, and Ping (ICMP) checks
  • ✅ Symfony Scheduler + nowo:uptime:run-due-checks
  • ✅ Ops CLI: nowo:uptime:rollup, nowo:uptime:purge-detail, nowo:uptime:clear-data (plus sync-schema / seed-demo)
  • ✅ Doctrine entities: tenant, monitor, check result, aggregates, incidents
  • ✅ YAML retention (detail_days) + aggregates kept forever
  • ✅ REST summary API for dashboard polling (?since= delta support)
  • ✅ Vite + TypeScript dashboard and Chart.js charts
  • ✅ Public status page per tenant (/status/{tenantSlug})
  • ✅ Email, webhook, Slack notifications (on status change)
  • ✅ CRUD for monitors and tenants (Twig UI)
  • ✅ Demo Symfony 7 and 8 (FrankenPHP) — see docs/DEMO-FRANKENPHP.md
  • ✅ Mercure real-time dashboard sync (dashboard.sync: mercure)

Quick start

composer require nowo-tech/uptime-monitor-bundle
# config/packages/nowo_uptime_monitor.yaml
nowo_uptime_monitor:
    retention:
        detail_days: 30
php bin/console nowo:uptime:sync-schema
php bin/console nowo:uptime:seed-demo
php bin/console nowo:uptime:run-due-checks
# ops: nowo:uptime:rollup · nowo:uptime:purge-detail · nowo:uptime:clear-data

Dashboard: /uptime/{tenantSlug} · Status page: /status/{tenantSlug} (default tenant main).

Development

make up
make test
make assets
make -C demo up-symfony8

Documentation

Additional documentation

Tests and coverage

Language Coverage (approx.) Command
PHP 95% make test-coverage
TypeScript Vitest (api-client, poll-controller, chart-theme) make test-ts
Python N/A
make test
make test-coverage
make test-coverage-90
make test-ts
make release-check

License

MIT — see LICENSE.

About

Symfony bundle for synthetic uptime monitoring (Uptime Kuma–style): scheduled checks, detail retention, perpetual aggregates, multi-tenant dashboard with polling sync, public status page, and notifications.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages