dotkernel / light
Dotkernel Light Application
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 10
Watchers: 1
Forks: 2
Open Issues: 3
Type:project
pkg:composer/dotkernel/light
Requires
- php: ~8.2.0 || ~8.3.0 || ~8.4.0
- dotkernel/dot-errorhandler: ^4.2.1
- laminas/laminas-component-installer: ^3.5.0
- laminas/laminas-config-aggregator: ^1.17.0
- mezzio/mezzio: ^3.20.1
- mezzio/mezzio-fastroute: ^3.12.0
- mezzio/mezzio-twigrenderer: ^2.17.0
Requires (Dev)
- filp/whoops: ^2.17.0
- laminas/laminas-coding-standard: ^3.0.1
- laminas/laminas-development-mode: ^3.13.0
- phpstan/phpstan: ^2.1.2
- phpstan/phpstan-phpunit: ^2.0.4
- phpunit/phpunit: ^10.5.45
- roave/security-advisories: dev-master
- symfony/var-dumper: ^7.2.3
- vincentlanglet/twig-cs-fixer: ^3.5.1
This package is auto-updated.
Last update: 2025-10-25 18:15:26 UTC
README
Dotkernel Light is a PSR-15 compliant application (skeleton) using Mezzio microframework and Laminas components. It's designed as a minimal project to generate a simple website, like a presentation site.
Check out our demo.
Documentation
Documentation is available at: https://docs.dotkernel.org/light-documentation/
Badges
Installing Dotkernel light
Tools
Dotkernel light interface has been tested with npm v10.0.4 and Node.js v20.11.0.
Composer
Installation instructions:
If you have never used composer before make sure you read the
Composer Basic Usagesection in Composer's documentation
Choosing an installation path for Dotkernel light
Example:
- absolute path
/var/www/dk - or relative path
dk(equivalent with./dk)
Installing Dotkernel light
After you choose the path for Dotkernel light (dk will be used for the remainder of this example), let's move onto installation.
Installing Dotkernel light using git clone
This method ensures that the default branch is installed, even if it is not released. Run the following command:
git clone https://github.com/dotkernel/light.git .
The dependencies have to be installed separately, by running this command:
composer install
The setup script prompts for some configuration settings, for example the lines below:
Please select which config file you wish to inject 'Laminas\HttpHandlerRunner\ConfigProvider' into: [0] Do not inject [1] config/config.php Make your selection (default is 1):
Simply select [0] Do not inject, because Dotkernel includes its own configProvider which already contains the prompted configurations.
If you choose [1] config/config.php Laminas's ConfigProvider will be injected.
The next question is:
Remember this option for other packages of the same type? (Y/n)
You should enter y and press Enter.
Development mode
Run this command to enable dev mode by turning debug flag to true and turning configuration caching to off. It will also make sure that any existing config cache is cleared.
composer development-enable
- If not already done, remove the
.distextension fromconfig/autoload/development.local.php.dist.
Bundling Static Modules
Prerequisite software: Node.js v20 (minimum supported version)
To install dependencies into the node_modules directory run this command.
npm install
If npm install fails, this could be caused by user permissions of npm.
We recommend installing npm through Node Version Manager.
You can skip the next step until you make changes in the
src/App/assetsfolder
The build command compiles the components from the src/App/assets folder into the public folder.
This command overwrites existing files in the
publicfolder.
npm run build
Running the application
We recommend running your applications in WSL:
- make sure you have WSL installed on your system
- currently we provide a distro implementations for AlmaLinux9
- install the application in a virtualhost as recommended by the chosen distro
- set
$baseUrlin config/autoload/local.php to the address of the virtualhost - run the application by opening the virtualhost address in your browser
You should see the Dotkernel light welcome page.
NOTE:
- If you are getting exceptions or errors regarding some missing services, try running the following command:
sudo php bin/clear-config-cache.php
If
config-cache.phpis present that config will be loaded regardless of theConfigAggregator::ENABLE_CACHEinconfig/autoload/mezzio.global.php