Open-source project
beikeshop/beikeshop avatar
beikeshop/beikeshop

BeikeShop: A Laravel 12 Storefront You Host Yourself

Free and Open-Source, Easy-to-Use Laravel eCommerce Platform,It supports multiple languages and currencies, Integrates AI agents and MCP.The platform features customizable visual design and a rich plugins on marketplace.

1,976 stars425 forksPHPNOASSERTION

At a glance

What is it?
BeikeShop is an open source PHP ecommerce platform built on Laravel 12, aimed at developers who want full control of code and data. It installs from a package, from source, or through a bundled Docker Compose profile, and it is the wrong tool if you cannot run a server.
Who is it for?
Adopt BeikeShop if you run your own PHP infrastructure, want the source in your own repository, and need multi-language and multi-currency storefronts without paying for a hosted plan. Do not adopt it on shared hosting: the README states shared hosting is not supported, and the required PHP extension list plus the artisan installer assume shell access.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
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 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Who BeikeShop is built for

BeikeShop targets developers and businesses that want a self-hosted online store where they own the code, the database and the deployment. The README frames it as an alternative to hosted platforms: an open source ecommerce platform built on PHP and Laravel, designed to launch self-hosted stores with full control over code, data and infrastructure. The stated use cases are PHP and Laravel ecommerce projects, custom online stores, international ecommerce, and open source ecommerce learning.

The audience matters more than the feature list. If you are comfortable with Composer, npm, artisan commands and a web server root, this is a project you can read end to end. If you want a store you never touch, the installation section below will make the trade-off obvious. The repository also ships AGENTS.md and CLAUDE.md at the top level, and the README points AI agents at AGENTS.md and install.sh for automated deployment, which tells you the maintainers expect machine-driven setups as well as human ones.

How the Laravel 12 core and the plugin layer fit together

The stack is PHP 8.2 or newer on Laravel 12, with Blade templates, Vue.js, jQuery, Sass and Bootstrap on the front end, and MySQL or PostgreSQL underneath. The README describes the architecture as MVC, modular and event-driven, with a hook and event system that lets developers add features and integrate third-party services through what it calls non-intrusive customization, keeping the core code untouched for easier upgrades.

That claim is the whole design bet. The repository layout backs it up: app/, beike/, config/, database/, routes/ and resources/ hold the core, while plugins/ and themes/ sit beside them as the extension points. Because the core is meant to stay untouched, an upgrade is a file replacement rather than a merge, which is why the README's upgrade path is short. The cost is that anything you change in the core will fight you at every upgrade, and the README does not document a supported way to carry core modifications forward.

The README also mentions REST APIs, a webhook engine, middleware, multi-language and multi-currency support, and integration with AI agents and MCP in the repository description. The README itself does not spell out the API surface or the MCP integration beyond those mentions, so treat them as areas to inspect in the code rather than documented contracts.

Installing BeikeShop from source and reaching a first store

The README gives three installation routes: a package distribution, source code, and Docker. The source route is the one that shows the moving parts. Clone the repository, install PHP dependencies, create the environment file, generate the application key, build the front-end assets, and run the installer command.

bash
git clone https://github.com/beikeshop/beikeshop.git
cd beikeshop
composer install
cp .env.example .env
php artisan key:generate
npm install
npm run prod
php artisan beikeshop:install

After the installer finishes, set the public directory as the web root. That step is easy to miss and it is not optional: serving the project root exposes files that should not be reachable. The .env.example ships with DB_CONNECTION=mysql, DB_HOST=127.0.0.1, DB_PORT=3306 and DB_DATABASE=beike, so point those at your database before running the installer.

The Docker route hides most of that. The README offers an install.sh script, or you can start the bundled Compose profile by hand:

bash
cp .env.example .env
printf "\nAPP_CODE_PATH=.\nDB_HOST=mysql\n" >> .env
docker compose --profile nginx up -d --build
docker compose exec nginx composer install
docker compose exec nginx php artisan beikeshop:install --force

The docker-compose.yml file defines three services: nginx (the default web server, published on ${HTTP_PORT:-80} and ${HTTPS_PORT:-443}), an optional apache service behind the apache profile, and mysql on the mysql:8.0 image by default. Both web server services mount ${APP_CODE_PATH:-./beikeshop} into /var/www/html, which is why the README appends APP_CODE_PATH=. to the environment file before starting Compose. The README also notes that shared hosting is not supported and lists required PHP extensions including BCMath, cURL, GD, Mbstring, OpenSSL, PDO and ZIP; a missing extension will surface during installation rather than at request time.

Upgrades overwrite files, and that is the real constraint

The README's upgrade procedure is to overwrite files, keep .env, and run php artisan migrate. From source it is git pull, composer install, php artisan migrate. There is no rollback procedure in the README, no downgrade path, and no documented way to revert a migration if a release breaks your store. Database migrations in Laravel are forward-only by default, so the safety net is your own database backup, not the tooling.

The second limitation is hosting. BeikeShop requires an independent server; the README states shared hosting is not supported. Environment requirements are Ubuntu 22+ or CentOS 8.5, PHP 8.2+, MySQL 5.7+, and Nginx 1.10+ or Apache 2.4+. If your only deployment option is a cheap shared plan, this project is the wrong choice, and no configuration change fixes that.

The third is scope. The core covers products, cart, checkout, payments, shipping, customer management, multi-language and multi-currency. Anything beyond that lives in plugins/ or themes/, and the README does not document what happens when a plugin is abandoned by its author or how a plugin behaves across a major upgrade. If your store depends on a specific payment gateway or shipping carrier, confirm the plugin exists and check its compatibility with the current release before you commit.

BeikeShop compared with Bagisto, Lunar and the rest

The related searches around this project name Bagisto, Lunar php and multi-vendor platforms, and the comparison is worth stating plainly. Bagisto is also a Laravel-based open source ecommerce platform, and the meaningful difference is not the framework but what ships in the box and how extensions are packaged and distributed. Lunar takes a different route again: it is a Laravel package set you compose into an existing application rather than a full application you deploy, which means more assembly work and more control over the surrounding code.

BeikeShop sits closer to the deployable application end of that range. You get a complete storefront and admin panel with a documented installer, a Docker Compose profile, and a marketplace for plugins and themes. The trade-off is the same one every packaged platform makes: you accept its structure, its upgrade path and its extension model. If you need to reshape the data model or the checkout flow, the hook and event system is the escape hatch, and the README's promise that the core stays untouched is what makes upgrades survivable. If your requirements fall outside what the hooks expose, a package-based approach like Lunar may fit better, at the cost of building more yourself.

Licence, maintenance and what an upgrade costs you

The project page reports the licence as NOASSERTION, which means the repository's licence could not be classified automatically. The repository contains a LICENSE file at the top level, and that file is the authoritative text. Read it before you build a commercial store on top of BeikeShop, particularly if you plan to redistribute modified versions or sell plugins. This is not legal advice; the point is that the label on the project page is not the licence, and the two should be reconciled before adoption.

On maintenance, the last push to the default branch was on 2026-09-09, and the most recent release listed is v2.0.0.31 from 2026-07-22, following v1.6.0.23 in May 2026 and v1.6.0.19 in March 2026. The repository is not archived. The release cadence suggests the 2.0 line is where current work lands, and the jump from 1.6 to 2.0 is the kind of version boundary that usually carries migration work, so stores still on 1.6 should read the release notes for v2.0.0.31 rather than assuming the documented composer install and php artisan migrate sequence covers everything.

The upgrade cost itself is low if you never touched the core: replace files, keep .env, run migrations, rebuild assets with npm run prod. It is high if you did. Budget for a staging copy of the store and a database dump before every upgrade, because the README does not describe a rollback.

Editorial conclusion

Adopt BeikeShop if you run your own PHP infrastructure, want the source in your own repository, and need multi-language and multi-currency storefronts without paying for a hosted plan. Do not adopt it on shared hosting: the README states shared hosting is not supported, and the required PHP extension list plus the artisan installer assume shell access. Before committing, verify that your server meets the PHP 8.2+, MySQL 5.7+ and Nginx 1.10+ or Apache 2.4+ requirements, confirm the licence text in the repository LICENSE file against the NOASSERTION label on the project page, and check whether the plugins you need exist, since the core ships the storefront while plugins/ and themes/ are where extension work lives.

Frequently asked questions

What is the best Laravel e-commerce project?

There is no single answer, and BeikeShop's own README makes a specific case rather than a universal one: it is a self-hosted platform on Laravel 12 with a modular, event-driven architecture and a hook system for non-intrusive customization. Whether it is the best fit depends on whether you want a deployable application with a bundled installer and Docker profile, or a package set you assemble yourself.

What is the best eCommerce software?

The README positions BeikeShop for developers and businesses that want full ownership of code, data and infrastructure, with multi-language and multi-currency support and a complete product, cart, checkout, payment and shipping workflow out of the box. It also states shared hosting is not supported, so it is not the answer for anyone who cannot run an independent server.

How do I install BeikeShop?

The README documents three routes: a package distribution downloaded from the project site and unpacked with public set as the web root, a source install using git clone, composer install, npm run prod and php artisan beikeshop:install, and a Docker route using the bundled install.sh script or docker compose --profile nginx.

What are the server requirements for BeikeShop?

An independent server, Ubuntu 22+ or CentOS 8.5, PHP 8.2+, MySQL 5.7+, and Nginx 1.10+ or Apache 2.4+. The README also lists required PHP extensions including BCMath, cURL, GD, Mbstring, OpenSSL, PDO and ZIP, and states that shared hosting is not supported.

How do I upgrade BeikeShop?

The README says to overwrite files while keeping .env, then run php artisan migrate. From a source checkout the sequence is git pull, composer install, php artisan migrate. The README does not document a rollback procedure, so a database backup before upgrading is the only recovery path it describes.

Official sources

  1. beikeshop/beikeshop on GitHub
  2. Issues
  3. Project website
  4. README
  5. Releases
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/beikeshop-beikeshop.svg)](https://hysenlabs.com/projects/beikeshop-beikeshop)