bnomei/kirby3-doctor

Kirby 3 Plugin to check health of your CMS installation.

Installs: 87

Dependents: 0

Suggesters: 0

Stars: 2

Watchers: 0

Forks: 0

Open Issues: 1

Type:kirby-plugin

1.1.1 2019-02-06 16:02 UTC

README

GitHub release License Kirby Version Kirby 3 Pluginkit

Plugin to check health of your CMS installation

Commerical Usage

This plugin is free but if you use it in a commercial project please consider to

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

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 (zendframework): Kirby installation requirements
  • CheckPHPExtension (zendframework): Kirby installation requirements
  • CheckKirbyFolders (zendframework): Read/Write-Access to core Kirby folders
  • CheckComposerSecurity: https://security.symfony.com/
  • 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\\CheckComposerSecurity" => false, // disable build-in
    ],
    // ...
];

Contribute: You have an idea for a check? Please create a new issue or submit a PR.

Settings

All settings have to be prefixed with bnomei.doctor..

expire

  • default: 24*60 minutes to cache the results and not run tests again

debugforce

  • default: true will expire the cache every time if option('debug') is true as well.

checks

  • default: []
  • example: ["MyNamespace\\MyCheckClass" => true, "Bnomei\\CheckGitFolder" => false]

Attention: Namespaces must use \\-notion.

log.enabled

log

  • default: 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.