Skip to content
This repository has been archived by the owner on Jun 27, 2022. It is now read-only.

bnomei/kirby3-doctor

Repository files navigation


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

Release Downloads Build Status Coverage Status Maintainability Twitter

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 or
  • composer require bnomei/kirby3-doctor

Screenshots

doctor

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

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

MIT

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.