bnomei/kirby3-doctor

Kirby 3 Plugin to check health of your CMS installation.

Installs: 135

Dependents: 0

Suggesters: 0

Stars: 5

Watchers: 0

Forks: 0

Open Issues: 1

Type:kirby-plugin

1.4.2 2019-08-18 16:55 UTC

README

Release Stars Downloads Issues Build Status Coverage Status Demo Gitter Twitter

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
    ],
    // ...
];

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.