Download the PHP package webrek/laravel-health-ui without Composer
On this page you can find all versions of the php package webrek/laravel-health-ui. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download webrek/laravel-health-ui
More information about webrek/laravel-health-ui
Files in webrek/laravel-health-ui
Package laravel-health-ui
Short Description A production health dashboard for Laravel: pluggable checks, a JSON endpoint for uptime monitors and a status page.
License MIT
Homepage https://github.com/webrek/laravel-health-ui
Informations about the package laravel-health-ui
Laravel Health UI
A production health dashboard for Laravel. Pluggable checks (database, cache, disk, external services), a JSON endpoint your uptime monitor can poll, and a clean status page — all from a single route.
Quickstart
Visit /health to see the status page, or poll it as JSON:
The endpoint returns 200 while the app is healthy and 503 the moment a check fails hard — exactly what an uptime monitor needs (Pingdom, UptimeRobot, a Kubernetes liveness probe).
What you get over Laravel's /up
Laravel's built-in /up route answers a single question: did the framework
boot? That tells you nothing about whether your database is reachable, whether
your cache is responding, whether the disk is filling up, or whether a
third-party API you depend on is down. This package runs real checks, aggregates
them, and shows you which one is sick — on a status page and as machine-readable
JSON.
Status model
Each check returns one of three statuses, and the overall status is the worst of them:
| Status | Meaning | HTTP |
|---|---|---|
ok (Operational) |
Healthy | 200 |
warning (Degraded) |
Working but needs attention (e.g. disk at 85%, debug mode enabled) | 200 |
failed (Down) |
A hard failure | 503 |
Warnings keep the endpoint at 200 so you aren't paged for degraded-but-serving conditions — only hard failures flip it to 503.
Built-in checks
Enable and tune them in config/health-ui.php:
- database — runs
select 1on the connection. - cache — writes a value and reads it back.
- disk_space — warns/fails when it crosses the configured used-percentage thresholds.
- debug_mode — warns when
APP_DEBUGis enabled (a common slip in production). - http — pings each external dependency and expects a 2xx.
- queue_failed_jobs — warns/fails as the failed-jobs backlog grows.
- schedule — fails when the scheduler heartbeat goes stale (see below).
- migrations — warns when there are migrations committed but not run here.
- certificates — warns before a host's TLS certificate expires.
Scheduler heartbeat
The schedule check reads a timestamp your scheduler keeps fresh. Add a frequent
task that stamps it:
The check then fails if that heartbeat is older than max_age_minutes.
Writing your own check
Implement the Check contract. Return a Result, or simply throw an exception —
the checker turns an exception into a failed result automatically.
Register it (e.g. in a service provider):
Command line
Run the checks from the CLI or a cron — it exits with a non-zero code when unhealthy, so it plugs straight into deployment gates and alerting:
Configuration highlights
Publish the config and views to customize them:
The endpoint can reveal internal state. In production, put it behind
middleware(a token, a signed URL, or an internal network restriction).
Requirements
| Component | Version |
|---|---|
| PHP | 8.2+ |
| Laravel | 12.x / 13.x |
Testing
Contributing
See CONTRIBUTING.md.
Security
Please review the security policy before reporting a vulnerability.
License
The MIT License (MIT). See LICENSE.
All versions of laravel-health-ui with dependencies
illuminate/contracts Version ^12.0 || ^13.0
illuminate/support Version ^12.0 || ^13.0