Installation
Epsicube is a modular application framework built on top of Laravel. It provides a robust architecture for building extensible systems composed of isolated modules, shared integrations, and configurable execution pipelines.
Global Requirements
Section titled “Global Requirements”Before installing Epsicube, ensure your environment meets these core requirements:
- PHP 8.4+
- Composer
- PHP Extensions:
intl: Required for advanced localization and string handling.pcntl: Required for the Epsicube Worker to manage process signals.
Installation Guide
Section titled “Installation Guide”Choose the method that best fits your project needs:
The fastest way to start. This uses the official Laravel installer to scaffold a project pre-configured with Epsicube.
-
Install Laravel Installer
Section titled “Install Laravel Installer”If you haven’t already, install the installer globally:
Terminal window composer global require laravel/installer -
Scaffold Project
Section titled “Scaffold Project”Create a new project using the
--usingflag to pull the Epsicube starter kit:Terminal window laravel new my-modular-app --using=epsicube/epsicube -
Run with Docker (Optional)
Section titled “Run with Docker (Optional)”The starter kit includes a
docker-compose.yml. To lift your environment:Terminal window # Start containersdocker compose up -d# Run migrations inside the containerdocker compose exec epsicube php artisan migrate# Access the container shelldocker compose exec epsicube bash
Follow these steps to integrate Epsicube into an existing Laravel 12.x project.
-
Install via Composer
Section titled “Install via Composer”Add the framework to your dependencies:
Terminal window composer require epsicube/framework -
Replace Application Class
Section titled “Replace Application Class”Epsicube uses its own container,
EpsicubeApplication. Update yourbootstrap/app.phpfile:use Epsicube\Foundation\EpsicubeApplication;return EpsicubeApplication::configure(basePath: dirname(__DIR__))->withRouting()->withMiddleware()->withExceptions()->create(); -
Run Migrations
Section titled “Run Migrations”Epsicube requires internal tables to manage the module registry and options store:
Terminal window php artisan migrate
Worker Configuration
Section titled “Worker Configuration”Epsicube relies on its own worker system (epsicube:work) to supervise long-running processes (queues, schedulers, custom loops).
This step is required for both installation methods (unless you are using Docker, where the worker is already pre-configured in the services).
Refer to the Production Setup for detailed instructions on using Supervisor.
Verify Installation
Section titled “Verify Installation”Epsicube injects its metadata directly into the native Laravel about command. Run the following to ensure everything is operational:
php artisan about --only EpsicubeYou should see an output similar to this:
| Epsicube | |
|---|---|
| Version | 1.0.x |
Next Steps
Section titled “Next Steps”- Architectural Overview: Understand the modular philosophy.
- Writing a Module: Use the CLI to generate your first module.