PHPackages                             dotkernel/admin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. dotkernel/admin

ActiveProject[Database &amp; ORM](/categories/database)

dotkernel/admin
===============

Dotkernel Admin Application

7.0.0(5mo ago)381348[2 issues](https://github.com/dotkernel/admin/issues)[2 PRs](https://github.com/dotkernel/admin/pulls)MITPHPPHP ~8.2.0 || ~8.3.0 || ~8.4.0CI passing

Since Mar 12Pushed 4mo ago5 watchersCompare

[ Source](https://github.com/dotkernel/admin)[ Packagist](https://packagist.org/packages/dotkernel/admin)[ Docs](https://github.com/dotkernel/admin)[ RSS](/packages/dotkernel-admin/feed)WikiDiscussions 7.0 Synced 2mo ago

READMEChangelog (10)Dependencies (37)Versions (45)Used By (0)

Dotkernel Admin
===============

[](#dotkernel-admin)

Dotkernel Admin is an application (skeleton) intended for quickly setting up an administration site for your platform. It's a fast and reliable way to manage records in your database with a simple table-based approach, and also to build reports and graphs to monitor your platform. The many graphical components at your disposal ensure an intuitive user experience.

> Check out our [demo](https://admin7.dotkernel.net/).
>
> Submit user `admin` and password `dotadmin` to authenticate yourself.

Documentation
-------------

[](#documentation)

Documentation is available at:

Version History
---------------

[](#version-history)

BranchReleasePSR-11OSS LifecyclePHP Version7.0`>= 7.0`1[![OSS Lifecycle](https://camo.githubusercontent.com/78a66a6e99616e71ae08b88d65dbbaebabfa46aad63265429a144fad9fe9a612/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c25324661646d696e253246626c6f62253246372e302532464f53534d45544144415441)](https://camo.githubusercontent.com/78a66a6e99616e71ae08b88d65dbbaebabfa46aad63265429a144fad9fe9a612/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c25324661646d696e253246626c6f62253246372e302532464f53534d45544144415441)[![PHP from Packagist (specify version)](https://camo.githubusercontent.com/68931bb2dea1e6212c3d21878edfc9c717be8fa388c26872035c5bc0ce88e0b7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f61646d696e2f372e302e30)](https://camo.githubusercontent.com/68931bb2dea1e6212c3d21878edfc9c717be8fa388c26872035c5bc0ce88e0b7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f61646d696e2f372e302e30)6.0`< 7.0`1[![OSS Lifecycle](https://camo.githubusercontent.com/7f90af017c8e8017f724c1dbcb6feab651cb48f02a5f452a44953589303dbc1a/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c25324661646d696e253246626c6f62253246362e302532464f53534d45544144415441)](https://camo.githubusercontent.com/7f90af017c8e8017f724c1dbcb6feab651cb48f02a5f452a44953589303dbc1a/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c25324661646d696e253246626c6f62253246362e302532464f53534d45544144415441)[![PHP from Packagist (specify version)](https://camo.githubusercontent.com/107d57bf974e4bee9528ada6188e07847480b5e878ef166ebdb47307ae519ac7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f61646d696e2f362e322e30)](https://camo.githubusercontent.com/107d57bf974e4bee9528ada6188e07847480b5e878ef166ebdb47307ae519ac7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f61646d696e2f362e322e30)5.0`< 6.0`1[![OSS Lifecycle](https://camo.githubusercontent.com/720cc051a253c66ef8ded4833e3b69c18f22810193b9911ed9269100cf5aefc3/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c25324661646d696e253246626c6f62253246352e302532464f53534d45544144415441)](https://camo.githubusercontent.com/720cc051a253c66ef8ded4833e3b69c18f22810193b9911ed9269100cf5aefc3/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c25324661646d696e253246626c6f62253246352e302532464f53534d45544144415441)[![PHP from Packagist (specify version)](https://camo.githubusercontent.com/62c6fa59bd648a858e88476d9a06476ded5a83b21c8ecba2ec579e58de881a0e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f61646d696e2f352e302e33)](https://camo.githubusercontent.com/62c6fa59bd648a858e88476d9a06476ded5a83b21c8ecba2ec579e58de881a0e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f61646d696e2f352e302e33)4.0`< 5.0`1[![OSS Lifecycle](https://camo.githubusercontent.com/abc475eef17f1d364ed9cab4516d306cf5257dfd27e287c0b8bc141ee06a7fff/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c25324661646d696e253246626c6f62253246342e302532464f53534d45544144415441)](https://camo.githubusercontent.com/abc475eef17f1d364ed9cab4516d306cf5257dfd27e287c0b8bc141ee06a7fff/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c25324661646d696e253246626c6f62253246342e302532464f53534d45544144415441)[![PHP from Packagist (specify version)](https://camo.githubusercontent.com/6d167e8127b84cb8c7e9758f43027bc01ed0d9b25130bb50144590b0fc06a198/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f61646d696e2f342e332e31)](https://camo.githubusercontent.com/6d167e8127b84cb8c7e9758f43027bc01ed0d9b25130bb50144590b0fc06a198/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f61646d696e2f342e332e31)3.0`< 4.0`1[![OSS Lifecycle](https://camo.githubusercontent.com/d562cc5facb8506795bf368779be36f67da51817ea52d2aabf48376e24172c8c/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c25324661646d696e253246626c6f62253246332e302532464f53534d45544144415441)](https://camo.githubusercontent.com/d562cc5facb8506795bf368779be36f67da51817ea52d2aabf48376e24172c8c/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c25324661646d696e253246626c6f62253246332e302532464f53534d45544144415441)[![PHP from Packagist (specify version)](https://camo.githubusercontent.com/347b1deb41b238c8460e26bb4b77618c1f82c3d6fad20d36565abdf9c612520c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f61646d696e2f332e322e31)](https://camo.githubusercontent.com/347b1deb41b238c8460e26bb4b77618c1f82c3d6fad20d36565abdf9c612520c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f61646d696e2f332e322e31)Badges
------

[](#badges)

[![OSS Lifecycle](https://camo.githubusercontent.com/33f7c68f51c3351422e39ccb857ece4f51fabc1144bf80838ae260b7b4d4d7f2/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c652f646f746b65726e656c2f61646d696e)](https://camo.githubusercontent.com/33f7c68f51c3351422e39ccb857ece4f51fabc1144bf80838ae260b7b4d4d7f2/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c652f646f746b65726e656c2f61646d696e)[![Packagist Dependency Version](https://camo.githubusercontent.com/1ca0f116b2223391b8135f71d2295aef8b2d38c31eefe660396906e9b85754a1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f646f746b65726e656c2f61646d696e2f706870)](https://camo.githubusercontent.com/1ca0f116b2223391b8135f71d2295aef8b2d38c31eefe660396906e9b85754a1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f646f746b65726e656c2f61646d696e2f706870)

[![GitHub issues](https://camo.githubusercontent.com/3ac694355c8ca01be2e8c0ea72e482bcdcc63a8252816b91342611fa9a0b4e94/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f646f746b65726e656c2f61646d696e)](https://github.com/dotkernel/admin/issues)[![GitHub forks](https://camo.githubusercontent.com/d0358cd2cedd60503e949afebfd28fdb0274bbfc14ed0769110f53481945d70e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f646f746b65726e656c2f61646d696e)](https://github.com/dotkernel/admin/network)[![GitHub stars](https://camo.githubusercontent.com/2a0f8c147e0ab3ee96a6e84624841c78b0b6df255988b73c29ec4e596ff7803f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f646f746b65726e656c2f61646d696e)](https://github.com/dotkernel/admin/stargazers)[![GitHub license](https://camo.githubusercontent.com/37d38d04fb27317b745600db5f3a5e897c09ac26e7feeb74f53fcf1eaa7f9b33/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f646f746b65726e656c2f61646d696e)](https://github.com/dotkernel/admin/blob/7.0/LICENSE.md)

[![Build Static](https://github.com/dotkernel/admin/actions/workflows/continuous-integration.yml/badge.svg?branch=7.0)](https://github.com/dotkernel/admin/actions/workflows/continuous-integration.yml)[![codecov](https://camo.githubusercontent.com/4c89c7602ba5ae7aafd79ecb47715d6d8c138fe38edcf5b6dd2de19965ab82d2/68747470733a2f2f636f6465636f762e696f2f67682f646f746b65726e656c2f61646d696e2f67726170682f62616467652e7376673f746f6b656e3d42515334335557414d34)](https://codecov.io/gh/dotkernel/admin)[![Qodana](https://github.com/dotkernel/admin/actions/workflows/qodana_code_quality.yml/badge.svg?branch=7.0)](https://github.com/dotkernel/admin/actions/workflows/qodana_code_quality.yml)[![PHPStan](https://github.com/dotkernel/admin/actions/workflows/static-analysis.yml/badge.svg?branch=7.0)](https://github.com/dotkernel/admin/actions/workflows/static-analysis.yml)

Getting Started
---------------

[](#getting-started)

### Clone the project

[](#clone-the-project)

Using your terminal, navigate inside the directory you want to download the project files into. Make sure that the directory is empty before proceeding to the download process. Once there, run the following command:

```
git clone https://github.com/dotkernel/admin.git .
```

### Install the project dependencies

[](#install-the-project-dependencies)

```
composer install
```

You will be prompted with the below message to choose whether you want to inject ConfigProviders:

```
 Please select which config file you wish to inject 'Laminas\Validator\ConfigProvider' into:
  [0] Do not inject
  [1] config/config.php
  Make your selection (default is 1):
```

Type `0` to select **\[0\] Do not inject** and hit `Enter`.

We choose not to inject any ConfigProvider because Dotkernel Admin comes with all the required ConfigProviders already injected in `config/config.php`. Choosing to inject any extra ConfigProvider would cause having duplicates which are not allowed and would crash the application.

### Development mode

[](#development-mode)

> **Do not enable development mode in production!**

If you're installing the project for development, you should **enable** development mode by running:

```
composer development-enable
```

You can **disable** development mode by running:

```
composer development-disable
```

You can **check** the development status by running:

```
composer development-status
```

### Prepare config files

[](#prepare-config-files)

- **optional**: to run/create tests, duplicate `config/autoload/local.test.php.dist` as `config/autoload/local.test.php` &lt;- this creates a new in-memory database that your tests will run on

### Setup database

[](#setup-database)

Use an existing empty one or create a new **MariaDB**/**MySQL** database.

> Recommended collation: `utf8mb4_general_ci`.

With a database created, fill out the database connection params in `config/autoload/local.php` under `$databases['default']`.

#### Creating migrations

[](#creating-migrations)

Create a new migration by running:

```
php ./vendor/bin/doctrine-migrations diff
```

The new migration file will be placed in `src/Core/src/App/src/Migration/`.

#### Running migrations

[](#running-migrations)

Execute a new migration by running:

```
php ./vendor/bin/doctrine-migrations migrate
```

This command will prompt you to confirm that you want to run it:

> WARNING! You are about to execute a migration in database "``" that could result in schema changes and data loss. Are you sure you wish to continue? (yes/no) \[yes\]:

Hit `Enter` to confirm the operation.

#### Executing fixtures

[](#executing-fixtures)

Fixtures are used to seed the database with initial values and must be executed after migrating the database.

To list all the fixtures, run:

```
php ./bin/doctrine fixtures:list
```

This will output all the fixtures in the order of execution.

To execute all fixtures, run:

```
php ./bin/doctrine fixtures:execute
```

To execute a specific fixture, run:

```
php ./bin/doctrine fixtures:execute --class=FixtureClassName
```

More details on how fixtures work can be found in `dotkernel/dot-data-fixtures` [documentation](https://github.com/dotkernel/dot-data-fixtures#creating-fixtures).

### Mail configuration

[](#mail-configuration)

If your application sends emails, you must configure an outgoing mail server under `config/autoload/mail.global.php`.

### Sync GeoLite2 databases

[](#sync-geolite2-databases)

#### Full sync

[](#full-sync)

You can download/update all GeoLite2 databases at once by running the following command:

```
php ./bin/cli.php geoip:synchronize
```

The output should be similar to the below:

```
asn: n/a -> 2015-10-21 04:29:00
city: n/a -> 2015-10-21 04:29:00
country: n/a -> 2015-10-21 04:29:00
```

#### Selective sync

[](#selective-sync)

You can download/update a specific GeoLite2 database by running the following command:

```
php ./bin/cli.php geoip:synchronize -d
```

Where `` takes one of the following values: **asn**, **city**, **country**.

Get help for this command by running:

```
php ./bin/cli.php help geoip:synchronize
```

> If you set up the synchronizer command as a cronjob, you can add the `-q|--quiet` option, and it will output data only if an error has occurred.

### NPM Commands

[](#npm-commands)

To install dependencies into the `node_modules` directory run this command:

```
npm install
```

If the above command fails, it could be caused by user permissions of `npm`. Recommendation is to install npm through `Node Version Manager`.

The **watch** command looks for JavaScript/CSS file changes and recompiles the assets under the public assets:

```
npm run watch
```

Once finished working on the JavaScript/CSS files, run the below command to minify the public assets and prepare them for production:

```
npm run prod
```

### Test the installation

[](#test-the-installation)

If you are using virtual hosts as described in the \[Dotkernel documentation\] (), you need to modify the permissions of the `data`, `public/uploads` and `log` folders:

```
chmod -R 777 data
chmod -R 777 public/uploads
chmod -R 777 log
```

Run the following command in your project's directory to start PHPs built-in server:

```
php -S 0.0.0.0:8080 -t public
```

> Running command `composer serve` will do the same thing, but the server will time out after a couple of minutes.

If you are still getting exceptions or errors regarding some missing services, try running the following command:

```
php ./bin/clear-config-cache.php
```

Open a web browser and visit `http://localhost:8080/`.

You should see the **Dotkernel Admin** login page. If you ran the migrations, you will have an admin user in the database with the following credentials:

- **Identity**: `admin`
- **Password**: `dotadmin`

---

Warning

**Production only**

Make sure you modify the default admin credentials.

---

Warning

**Development only**

`session.cookie_secure` does not work locally so make sure you modify your `local.php`, as per the following:

```
return [
  'session_config' => [
    'cookie_secure' => false,
  ],
];
```

Do not change this in `local.php.dist` as well because this value must remain `true` on production.

###  Health Score

57

—

FairBetter than 98% of packages

Maintenance74

Regular maintenance activity

Popularity23

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity93

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~80 days

Recently: every ~13 days

Total

41

Last Release

121d ago

Major Versions

5.0.3 → 6.0.02025-06-05

3.0.x-dev → 4.0.x-dev2025-11-21

4.0.x-dev → 5.0.x-dev2025-11-21

5.0.x-dev → 6.0.x-dev2025-11-27

6.0.x-dev → 7.0.02025-12-10

PHP version history (10 changes)0.1.0PHP ^7.1

2.0.x-devPHP ^7.2

3.0.0PHP ^7.4

4.0.0PHP ~7.4.0 || ~8.0.0 || ~8.1.0

4.0.1PHP ~8.0.0 || ~8.1.0 || ~8.2.0

4.1.0PHP ~8.1.0 || ~8.2.0

4.3.0PHP ~8.1.0 || ~8.2.0 || ~8.3.0

4.3.1PHP  ~8.2.0 || ~8.3.0

5.0.0PHP ~8.2.0 || ~8.3.0

6.2.0PHP ~8.2.0 || ~8.3.0 || ~8.4.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1156873?v=4)[Dotkernel](/maintainers/dotkernel)[@dotkernel](https://github.com/dotkernel)

---

Top Contributors

[![arhimede](https://avatars.githubusercontent.com/u/22009710?v=4)](https://github.com/arhimede "arhimede (163 commits)")[![alexmerlin](https://avatars.githubusercontent.com/u/4542449?v=4)](https://github.com/alexmerlin "alexmerlin (148 commits)")[![MarioRadu](https://avatars.githubusercontent.com/u/10761919?v=4)](https://github.com/MarioRadu "MarioRadu (120 commits)")[![pinclau](https://avatars.githubusercontent.com/u/24491812?v=4)](https://github.com/pinclau "pinclau (18 commits)")[![SergiuBota1](https://avatars.githubusercontent.com/u/50962867?v=4)](https://github.com/SergiuBota1 "SergiuBota1 (17 commits)")[![claurospace](https://avatars.githubusercontent.com/u/224870609?v=4)](https://github.com/claurospace "claurospace (15 commits)")[![bidi47](https://avatars.githubusercontent.com/u/27284979?v=4)](https://github.com/bidi47 "bidi47 (14 commits)")[![Jurj-Bogdan](https://avatars.githubusercontent.com/u/53825374?v=4)](https://github.com/Jurj-Bogdan "Jurj-Bogdan (13 commits)")[![alinaclaudia](https://avatars.githubusercontent.com/u/12268430?v=4)](https://github.com/alinaclaudia "alinaclaudia (13 commits)")[![Howriq](https://avatars.githubusercontent.com/u/63609103?v=4)](https://github.com/Howriq "Howriq (5 commits)")[![mada27](https://avatars.githubusercontent.com/u/82879872?v=4)](https://github.com/mada27 "mada27 (3 commits)")[![kakapiciu](https://avatars.githubusercontent.com/u/30651114?v=4)](https://github.com/kakapiciu "kakapiciu (3 commits)")[![PopNatanael](https://avatars.githubusercontent.com/u/56395369?v=4)](https://github.com/PopNatanael "PopNatanael (3 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")

---

Tags

bootstrap5doctrinedoctrine-ormheadless-platformjquerylaminasmezziomiddlewarephp82php83psr-15psr-7laminasmezzioadmin-paneldotkernelDotkernel Backend

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/dotkernel-admin/health.svg)

```
[![Health](https://phpackages.com/badges/dotkernel-admin/health.svg)](https://phpackages.com/packages/dotkernel-admin)
```

###  Alternatives

[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

4.8k4.3k](/packages/shlinkio-shlink)[mezzio/mezzio-skeleton

Laminas mezzio skeleton. Begin developing PSR-15 middleware applications in seconds!

12726.2k](/packages/mezzio-mezzio-skeleton)[samsonasik/error-hero-module

A Hero for your Laminas and Mezzio application to trap php errors &amp; exceptions

5233.4k1](/packages/samsonasik-error-hero-module)[php-db/phpdb

Database abstraction layer, SQL abstraction, result set abstraction, and RowDataGateway and TableDataGateway implementations

1815.0k6](/packages/php-db-phpdb)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
