WL

Separate Control App

White-Label Superadmin

Install Guide

Deploy the superadmin application as a separate production control panel.

This guide assumes the superadmin lives on its own host or subdomain and manages many separate client Laravel installations over signed APIs.

Requirements

PHP 8.2+, MySQL 8+, Composer, Node.js 20+, and a dedicated web root for the superadmin app.
Separate production domain or subdomain such as `control.yourbrand.com`.
Writable storage and cache directories with queue worker support.
HTTPS enabled before connecting live client installations.

1. Provision the application

Place the superadmin application on its own server path.

Create the production database and database user.

Copy `.env.example` to `.env` and set the app URL, DB, mail, cache, and queue values.

composer install --no-dev --optimize-autoloader
php artisan key:generate

2. Initialize the platform

Run migrations and seed the initial operator account.

Confirm file storage is linked and the application key is valid.

php artisan migrate --force
php artisan db:seed --force
php artisan storage:link

3. Build frontend assets

Install Node dependencies once on the server or build artifacts in CI.

Publish the Vite production bundle so public landing and docs pages load correctly.

npm install
npm run build

4. Enable background workers

Run the queue worker under Supervisor or an equivalent service manager.

Schedule Laravel tasks every minute for maintenance, reporting, and command flows.

php artisan queue:work --queue=default --sleep=3 --tries=3
* * * * * php /path-to-superadmin/artisan schedule:run >> /dev/null 2>&1