{"id":34009012,"url":"https://github.com/perfectwebteam/craft-ohdear-application-health","last_synced_at":"2026-04-27T22:00:33.205Z","repository":{"id":291793124,"uuid":"978785690","full_name":"perfectwebteam/craft-ohdear-application-health","owner":"perfectwebteam","description":"Oh Dear Application Health checker for Craft CMS","archived":false,"fork":false,"pushed_at":"2025-09-17T09:23:19.000Z","size":74,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-15T00:14:59.582Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/perfectwebteam.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-06T14:02:12.000Z","updated_at":"2025-09-17T09:23:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"c93f6631-0e4b-470b-ba12-87f143279897","html_url":"https://github.com/perfectwebteam/craft-ohdear-application-health","commit_stats":null,"previous_names":["perfectwebteam/craft-ohdear-application-health"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/perfectwebteam/craft-ohdear-application-health","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectwebteam%2Fcraft-ohdear-application-health","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectwebteam%2Fcraft-ohdear-application-health/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectwebteam%2Fcraft-ohdear-application-health/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectwebteam%2Fcraft-ohdear-application-health/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perfectwebteam","download_url":"https://codeload.github.com/perfectwebteam/craft-ohdear-application-health/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfectwebteam%2Fcraft-ohdear-application-health/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32356602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"ssl_error","status_checked_at":"2026-04-27T20:07:00.910Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-13T11:58:52.149Z","updated_at":"2026-04-27T22:00:33.193Z","avatar_url":"https://github.com/perfectwebteam.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"./src/icon.svg\" width=\"100\" height=\"100\" alt=\"Oh Dear Application Health checker icon\"\u003e\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eOh Dear Application Health checker for Craft CMS\u003c/h1\u003e\n\nThis plugin provides an [Oh Dear](https://ohdear.app) Application Health checker for [Craft CMS](https://craftcms.com/).\n\n## 🚦 Health Checks Overview\n\nThis plugin performs the following health checks and provides a JSON feed at `/application-health.json` for Oh Dear.\n\nThe response is cached for 5 minutes.\n\n### ✅ Updates\nChecks if updates are available for Craft CMS and installed plugins, including critical ones.\n\n### ✅ Queue Status\nMonitors the number of jobs in the queue and detects failed, reserved, or delayed jobs using configurable thresholds.\n\n### ✅ Pending Migrations\nVerifies if there are any unapplied database migrations.\n\n### ✅ Error Logs\nCounts recent errors in today’s log files (`web.log`, `queue.log`, `console.log`).\n\n### ✅ Git Repository Status\nChecks if a `.git` repository exists and whether there are uncommitted changes.\n\n### ✅ Security Headers\nFetches site headers and verifies the presence of key security headers (e.g., CSP, HSTS, X-Frame-Options).\n\n### ✅ Project Config Status\nConfirms if the project configuration is fully synchronized.\n\n### ✅ PHP Version\nReports the active PHP version running on the server and verifies it against a minimum required version.\n\n### ✅ Admin Users\nLists all admin users and flags users who haven’t logged in for a configurable period.\n\n### ✅ Disk Usage\nMonitors disk space usage and flags if usage exceeds a configurable threshold.  \n*(Disabled by default to avoid noise on shared servers.)*\n\n## Requirements\n\nThis plugin requires Craft CMS 4.0.0+ or 5.0.0+.\n\n## Installation\n\nYou can install this plugin from the Plugin Store or with Composer.\n\n#### From the Plugin Store\n\nGo to the Plugin Store in your project’s Control Panel and search for “Oh Dear Application Health”. Then click on the “Install” button in its modal window.\n\n#### With Composer\n\nOpen your terminal and run the following commands:\n\n```bash\n# Go to the project directory\ncd /path/to/my-project.test\n\n# Tell Composer to load the plugin\ncomposer require perfectwebteam/craft-ohdear-application-health\n\n# Tell Craft to install the plugin\n./craft plugin/install ohdear-application-health\n```\n\n## Setup\n\nOnce Oh Dear Application Health is installed:\n\n1. Go to your site in **Oh Dear** and activate the **Application health** check.\n2. Set the **Health Report URL** to `https://www.yourdomain.com/application-health.json`.\n3. Copy the **Health Report Secret** value and set it as value for `OH_DEAR_HEALTH_REPORT_SECRET=` in your `.env` file.\n4. Optionally add a `config/ohdear-application-health.php` configuration file in which you can override the default settings.\n\nExample configuration:\n\n```php\n\u003c?php\n\nreturn [\n    'checks' =\u003e [\n        'addUpdateCheck' =\u003e true,\n        'addQueueCheck' =\u003e true,\n        'addPendingMigrationsCheck' =\u003e true,\n        'addProjectConfigCheck' =\u003e true,\n        'addErrorLogCheck' =\u003e true,\n        'addGitChangesCheck' =\u003e true,\n        'addSecurityHeadersCheck' =\u003e true,\n        'addPhpVersionCheck' =\u003e true,\n        'addAdminUsersCheck' =\u003e true,\n        'addDiskUsageCheck' =\u003e false,\n    ],\n    'oldestUpdateWarningDays' =\u003e 30,\n    'minimumPhpVersion' =\u003e '8.1.0',\n    'requiredSecurityHeaders' =\u003e [\n        'Content-Security-Policy',\n        'X-Frame-Options',\n        'Strict-Transport-Security',\n        'X-Content-Type-Options',\n        'Referrer-Policy',\n        'Permissions-Policy',\n    ],\n    'inactiveAdminThreshold' =\u003e '-1 year',\n    'gitRepoPath' =\u003e '@root',\n    'queueTotalThreshold' =\u003e 10,\n    'queueFailedThreshold' =\u003e 2,\n    'diskUsagePath' =\u003e '/',\n\t'diskUsageThreshold' =\u003e 90,\n];\n```\n\nBrought to you by [Perfect Web Team](https://perfectwebteam.com)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperfectwebteam%2Fcraft-ohdear-application-health","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fperfectwebteam%2Fcraft-ohdear-application-health","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperfectwebteam%2Fcraft-ohdear-application-health/lists"}