nowo-tech/uptime-monitor-bundle

Symfony bundle for synthetic uptime monitoring (Uptime Kuma-style): scheduled checks, retention, aggregates, multi-tenant dashboard.

Maintainers

Package info

github.com/nowo-tech/UptimeMonitorBundle

Type:symfony-bundle

pkg:composer/nowo-tech/uptime-monitor-bundle

Transparency log

Fund package maintenance!

HecFranco

Statistics

Installs: 19

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.3.6 2026-08-20 07:55 UTC

README

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.