Maintainers

Package info

github.com/Team-Nifty-GmbH/flux-core

Homepage

pkg:composer/team-nifty-gmbh/flux-erp

Transparency log

Statistics

Installs: 16 920

Dependents: 5

Suggesters: 0

Stars: 4

Open Issues: 17

This package is auto-updated.

Last update: 2026-07-15 13:21:04 UTC


README

Flux ERP

Flux ERP is a modern, open-source ERP built on Laravel and Livewire. It ships as a Composer package that you install into a Laravel application.

Important

Flux is a package, not a standalone app. That is why this repository has no artisan file and no bootstrap/app.php — those belong to the Laravel host application. You cannot run php artisan … inside this repository directly. Install it into a fresh Laravel app as shown below.

Requirements

  • PHP 8.4 (bcmath, intl, json, pdo, zip)
  • MySQL 8 / MariaDB
  • Meilisearch — search (Laravel Scout)
  • Composer 2

No Node.js or frontend build is needed on the project side. Flux serves its compiled assets straight from the package at runtime.

Installation

# 1. Create a fresh Laravel app
composer create-project laravel/laravel flux-app
cd flux-app

# 2. Require Flux (service provider, migrations, routes and assets auto-register)
composer require team-nifty-gmbh/flux-erp

# 3. Require the license package (provides the install wizard)
composer require team-nifty-gmbh/flux-license

# 4. Run the interactive install wizard
php artisan flux:install

# 5. Link storage for uploaded media
php artisan storage:link

Configure your database, Meilisearch and mail credentials in .env before running the wizard, and remove the default welcome route from routes/web.php (Flux registers its own).

The php artisan flux:install wizard guides you through the remaining setup (migrations, roles and permissions, base data, payment types, and so on). If you prefer to run the steps manually instead, use php artisan migrate and php artisan init:permissions.

Seeding base data

Add the seeder to database/seeders/DatabaseSeeder.php:

$this->call(\FluxErp\Database\Seeders\FluxSeeder::class);

then run php artisan db:seed.

Serve the app with php artisan serve (or Sail) and log in.

Frontend assets

Assets are compiled inside the package and served through its own /flux/… routes. The @fluxStyles and @fluxScripts Blade directives inject them — add these to your <head> and before </body> only if you use a custom layout instead of the shipped one. Nothing to build or publish.

Realtime (Laravel Reverb)

Flux uses Laravel Reverb for realtime features. Broadcasting credentials are read from .env at runtime, so no rebuild is required when they change.

php artisan reverb:start
REVERB_APP_ID=local
REVERB_APP_KEY=local
REVERB_APP_SECRET=local
REVERB_HOST=your.domain.com
REVERB_SCHEME=https
REVERB_PORT=443

In production run Reverb behind your web server as a reverse proxy so websocket traffic reaches it on port 443.

Publishing package resources (optional)

Only needed to override defaults:

Tag Publishes
flux-config config/flux.php
flux-views Blade views into resources/views/vendor/flux
flux-translations Language files
flux-migrations Migrations into database/migrations
flux-seeders Seeders into database/seeders
flux-docker Docker/Sail setup
php artisan vendor:publish --tag=flux-config

Development

Flux publishes a Docker/Sail setup that runs nginx instead of artisan serve:

php artisan vendor:publish --tag=flux-docker

Run the package test suite (uses Testbench) from the package directory:

composer install
composer test

Documentation

Guides for extending Flux live in docs: routes, views, widgets, print views, monitorable jobs, backend customization.

License

Flux ERP is open-sourced software licensed under the MIT license.