bnomei / kirby3-doctor
Kirby 3 Plugin to check health of your CMS installation.
Fund package maintenance!
bnomei
Patreon
buymeacoff.ee/bnomei
paypal.me/bnomei
Installs: 1 716
Dependents: 0
Suggesters: 1
Security: 0
Stars: 19
Watchers: 2
Forks: 1
Open Issues: 6
Type:kirby-plugin
Requires
- php: >=8.1.0
- getkirby/composer-installer: ^1.2
- laminas/laminas-diagnostics: ^1.13
Requires (Dev)
- getkirby/cms: ^3.6.0
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^9.5
Suggests
- bnomei/kirby3-robots-txt: Automatic robots.txt. Detects xmlsitemap.
- bnomei/kirby3-security-headers: CPS headers to make the the web a saver place. Sensible defaults with zero configuration.
- omz13/kirby3-xmlsitemap: Adds a xml sitemap
This package is auto-updated.
Last update: 2022-07-27 13:05:48 UTC
README
With Kirby 3.7 introducing an improved system view most important checks have been covered. Thus I will not continue to work on this plugin.
Kirby 3 Doctor
Plugin to check health of your CMS installation
Commercial Usage
Support open source!
This plugin is free but if you use it in a commercial project please consider to sponsor me or make a donation.
If my work helped you to make some cash it seems fair to me that I might get a little reward as well, right?
Be kind. Share a little. Thanks.
‐ Bruno
M | O | N | E | Y |
---|---|---|---|---|
Github sponsor | Patreon | Buy Me a Coffee | Paypal dontation | Hire me |
Installation
- unzip master.zip as folder
site/plugins/kirby3-doctor
or git submodule add https://github.com/bnomei/kirby3-doctor.git site/plugins/kirby3-doctor
orcomposer require bnomei/kirby3-doctor
Screenshots
Usage Kirby Panel
This plugin will register a Panel Area "Doctor". Many thanks to @Daandelange for PRing this feature. Alternatively you could also add the button to perform the checks on any other view.
fields:
doctor:
type: doctor
label: Perform checks
# progress: Performing checks...
Usage Kirby API (post Authentification)
let doctor = fetch('https://kirby3-plugins.bnomei.com/api/plugin-doctor/check') .then(response => response.json()) .then(json => { console.log(json); });
Provided Checks
- CheckPHPVersion (laminas): Kirby installation requirements
- CheckPHPExtension (laminas): Kirby installation requirements
- CheckKirbyFolders (laminas): Read/Write-Access to core Kirby folders
- CheckGitFolder: No public
.git
folder - CheckHtaccess: Has a
.htaccess
file - CheckKirbyAccount: Has at least one account
- CheckKirbyCacheSize: Cache folder not too big
- CheckKirbyLicense: License exists (on non localhost)
- CheckKirbyMediaSize: Media folder not too big
- CheckKirbySystem: Kirby build-in system checks
- CheckKirbyVersion: Is Kirby up-to-date
- CheckSSL: Using
https
scheme
Custom Checks
You can add custom checks or disable build checks using the checks
setting in the config file.
return [
'bnomei.doctor.checks' => [
"MyNamespace\\MyClass" => true, // enable new
"Bnomei\\CheckKirbyCacheSize" => false, // disable build-in
],
// ...
];
You can also use your own plugin to define checks (since 1.2.0). Many thanks to @fabianmichael for the great idea.
Kirby::plugin('my/plugin', [ // your plugin
'bnomei.doctor.checks' => [ // required option id
"MyNamespace\\MyClass" => true, // enable new
],
]);
Contribute: You have an idea for a check or a plugin defining a check? Please create a new issue or submit a PR.
Settings
bnomei.doctor. | Default | Description |
---|---|---|
expire | 24*60 |
minutes to cache the results and not run tests again |
debugforce | true |
will expire the cache every time if option('debug') is true as well. |
checks | [] |
example: ["MyNamespace\\MyCheckClass" => true, "Bnomei\\CheckGitFolder" => false] Attention: Namespaces must use \\ -notion. |
log.enabled | true |
will create a log file if Kirby Log Plugin is installed as well. |
log | callback |
to kirbyLog() |
Credits
- @bvdputte: Kirby Log Plugin
- @jenstornell: idea of a K3 enviroment checklist Plugin
Disclaimer
This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please create a new issue.
License
It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.