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-doctororcomposer 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.
