Self-hosted service
krayin/laravel-crm avatar
krayin/laravel-crm

Krayin CRM: a Laravel and Vue CRM you install yourself

Krayin CRM is Free & Open Source CRM Built with Laravel for Customer, Lead, and Sales Management.

23,965 stars1,642 forksPHPMIT

At a glance

What is it?
Krayin CRM is an MIT-licensed customer and lead management application built on Laravel and Vue, distributed as a Composer project. It suits teams that want CRM data inside their own database, and it costs you a PHP stack to run.
Who is it for?
Adopt Krayin CRM if you already run PHP and want CRM records in a database you control, with the option to extend modules in Laravel. Do not adopt it if nobody on the team can operate a Laravel deployment or if you need CRM capability out of the box on day one.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly PHP, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Krayin CRM solves, and who ends up running it

Krayin CRM targets the point where a spreadsheet stops being a customer database. The README describes it as a "Free & Opensource Laravel CRM solution for SMEs and Enterprises for complete customer lifecycle management", with leads, customers, sales and an admin dashboard as the working surface. The audience is split. Business users get an admin panel and custom attributes. Developers get a Laravel application with a packages/ directory, a Vue front end built by Vite, and the ability to add modules rather than fork a monolith.

The repository layout backs that claim. app/, config/, database/, routes/ and resources/ sit alongside packages/, which is where the Webkul admin assets referenced in the README live. That structure matters if you plan to extend the CRM: your work goes into a package, not into vendor code. It also means the project expects a developer to be present at some point, because installation is a Composer command, not a download and a wizard.

The Laravel application underneath the CRM screens

Krayin CRM is not a standalone PHP script. It is a Laravel application with an installer command, a queue, a cache, a mailer, and an IMAP configuration block. The .env.example file is the clearest map of the architecture: DB_CONNECTION accepts mysql or mariadb, QUEUE_CONNECTION defaults to sync, CACHE_DRIVER and SESSION_DRIVER default to file, and MAIL_RECEIVER_DRIVER is set to sendgrid. Email parsing, which the README lists as a feature, therefore depends on SendGrid plus the IMAP_HOST and IMAP_PORT settings in that same file.

The front end is Vue, built through Vite. package.json declares only three devDependencies (axios, laravel-vite-plugin, vite) and two scripts, dev and build. There is no application JavaScript dependency tree to audit here; the Vue code ships inside the Laravel packages.

Data flow is conventional Laravel: requests hit routes, controllers write through Eloquent models into MySQL or MariaDB, and the admin panel renders the result. Anything asynchronous depends on what you set QUEUE_CONNECTION to. The default, sync, runs jobs in the request. If you enable email parsing or bulk work, that default is the first thing to change, and the README does not walk through it.

Installing Krayin CRM with Composer and running the installer

The README's installation section is short. It starts with a Composer project creation, then asks you to edit .env, then runs an Artisan installer. The README shows the create-project command without the package argument, so use the Packagist name the README links to, krayin/laravel-crm:

bash
composer create-project krayin/laravel-crm

After that, open the .env file in the project root. The README says to change APP_URL to your domain and to configure the Mail and Database parameters. The keys you will touch are the ones in .env.example: APP_URL, DB_CONNECTION, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD, and the MAIL_* block. A minimal local database section looks like this:

bash
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel-crm
DB_USERNAME=root
DB_PASSWORD=

With the environment configured, run the installer the README names:

bash
php artisan krayin-crm:install

For a local run, the README gives two commands. The first clears cached routes, the second starts the development server:

bash
php artisan route:clear
php artisan serve

You then log in as admin at http(s)://example.com/admin/login. The README prints the default credentials as [email protected] and admin123. Treat those as a first-login placeholder, not a configuration. For a server deployment the README says to run composer install --no-dev before going into production, and to point your host at the application entry point rather than using artisan serve. Requirements, per the README: Apache 2 or NGINX, PHP 8.3 or higher, Composer 2.5 or higher, MySQL 8.0.32 or higher, or MariaDB 11.4 LTS or higher with 11.8 LTS recommended, and 3 GB of RAM or more.

Where Krayin CRM is the wrong tool

The README does not document rollback, and it does not document a backup procedure at all. That is a real gap for anyone storing customer records. Once leads and contacts live in your MySQL or MariaDB instance, recovery is your responsibility, and the project gives you no command for it. UPGRADE.md exists in the repository root, which tells you the maintainers expect version-to-version moves to be handled deliberately, but the README itself never links to it from the installation section.

The second constraint is operational. Krayin CRM is a Laravel application with a database, a queue, a mailer, an IMAP account for email parsing, and a SendGrid driver by default. If your team has no PHP operator, the CRM becomes an unpatched web application on a server nobody watches. The README's answer to that is the paid Krayin Cloud Hosting service, which is a different product decision, not a feature of the open source code.

The third is scope. The README lists WhatsApp, VoIP and multi-tenant SaaS as extensions hosted on krayincrm.com. They are not part of the MIT package you install. If multi-tenancy is your reason for choosing Krayin, verify the extension's terms before you plan the deployment, because the open source repository you clone is single-tenant by default.

Krayin CRM against SuiteCRM and EspoCRM

The obvious alternatives are SuiteCRM and EspoCRM, and the difference is the stack you are agreeing to maintain. SuiteCRM is a PHP application with its own long history and a large module ecosystem; it is not a Laravel application, so a Laravel developer extending it is working in unfamiliar conventions. EspoCRM is lighter and installs quickly, but it is likewise not built on Laravel, and its extension model is its own.

Krayin CRM's distinguishing choice is that it is a Laravel application first. If your team already writes Laravel, the packages/ directory, Artisan commands, Eloquent models and Vite build are all familiar ground. That is the trade. You accept a younger project and a smaller extension catalogue in exchange for a codebase your existing developers can read without learning a new framework. If nobody on the team writes Laravel, that advantage disappears and SuiteCRM or EspoCRM become the more conservative picks.

Maintenance, licence and what an upgrade costs

The repository is not archived, and the last push was on 2026-09-14. Releases are frequent: v2.2.6 on 2026-09-10, v2.2.5 on 2026-08-04, and v2.2.4 on 2026-07-23, all on the 2.2 branch. A cadence like that means upgrade work, not a one-time install. The presence of UPGRADE.md in the root is the signal to read before you pull a new tag, because schema and configuration changes between minor versions are exactly what that file exists to record.

Krayin CRM is MIT licensed. In practice that means you can use, modify and redistribute it, including commercially, provided the licence notice is preserved. It says nothing about the extensions sold on krayincrm.com, which are separate products with their own terms, and nothing about the managed hosting service. If your legal position depends on the exact wording, read the LICENSE file in the repository rather than this summary.

Security reports go to [email protected] according to the README, which asks that vulnerabilities not be disclosed publicly. That is a single mailbox rather than a dedicated security contact, and the README does not describe a response process.

Editorial conclusion

Adopt Krayin CRM if you already run PHP and want CRM records in a database you control, with the option to extend modules in Laravel. Do not adopt it if nobody on the team can operate a Laravel deployment or if you need CRM capability out of the box on day one. Before committing, read UPGRADE.md for the 2.2 line, confirm your MySQL or MariaDB version against the README requirements, and change the [email protected] / admin123 credentials that the README prints.

Frequently asked questions

What is Krayin CRM?

It is an open source CRM built on Laravel and Vue for customer, lead and sales management, released under the MIT licence. The README describes it as a free and open source Laravel CRM solution for SMEs and enterprises.

How do I install Krayin CRM?

Create the project with composer create-project krayin/laravel-crm, edit the .env file to set APP_URL plus your database and mail parameters, then run php artisan krayin-crm:install. For local use the README gives php artisan route:clear followed by php artisan serve.

What are the server requirements for Krayin CRM?

The README lists Apache 2 or NGINX, PHP 8.3 or higher, Composer 2.5 or higher, at least 3 GB of RAM, and either MySQL 8.0.32 or higher or MariaDB 11.4 LTS or higher with 11.8 LTS recommended.

Is Krayin CRM free to use?

The code is MIT licensed and the README states it will always be free under that licence. Extensions such as WhatsApp, VoIP and multi-tenant SaaS, and the Krayin Cloud Hosting service, are separate offerings linked from the README.

What are the default admin credentials for Krayin CRM?

The README gives [email protected] with the password admin123 at the /admin/login path. These are printed as the initial login and should not be left in place on a reachable deployment.

Official sources

  1. krayin/laravel-crm on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
For maintainers

Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/krayin-laravel-crm.svg)](https://hysenlabs.com/projects/krayin-laravel-crm)
Community notes

Community notes