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 768
Dependents: 0
Suggesters: 1
Security: 0
Stars: 19
Watchers: 2
Forks: 1
Open Issues: 6
Type:kirby-plugin
pkg:composer/bnomei/kirby3-doctor
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-doctoror
- git submodule add https://github.com/bnomei/kirby3-doctor.git site/plugins/kirby3-doctoror
- composer 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 .gitfolder
- CheckHtaccess: Has a .htaccessfile
- 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 httpsscheme
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.
