Skip to content

Production platform

pushinbr/pam-laravel is the operational layer for Laravel 12 and 13 on PAM. It keeps controllers, routes, queues, Eloquent, and Composer conventional while adding persistent-worker safety, bounded diagnostics, process supervision, and release operations.

Terminal window
pam composer require pushinbr/pam-laravel
pam artisan pam:install --preset=api
pam artisan pam:check-production
pam start pam.php --workers "$(nproc)" --admin-address 127.0.0.1:3011

Available presets are:

Preset Intended application
api Stateless JSON API
livewire Server-driven Livewire UI
inertia Inertia application
realtime Socket and event-oriented workload

The installer publishes config/pam.php, pam.processes.json, systemd, Kubernetes, Docker Compose, and Laravel Forge assets. HTTP runs through PAM’s native cluster. Queue workers, the scheduler, Horizon, and Nightwatch remain independent supervised processes.

Task Command
Readiness pam artisan pam:health
Production audit pam artisan pam:check-production
Memory and state leaks pam artisan pam:leaks
Capacity estimate pam artisan pam:capacity --memory-mb=2048 --worker-mb=110
Start managed processes pam artisan pam:process up
Process status pam artisan pam:process status
Restart one process pam artisan pam:process restart queue
Stop managed processes pam artisan pam:process stop
Local atomic release pam artisan pam:deploy /srv/app/releases/<id> --local
Remote deploy pam artisan pam:deploy production
Remote operation pam artisan pam:remote <action> production
Nightwatch verification pam artisan pam:nightwatch
Add Nightwatch role pam artisan pam:nightwatch --install-process
Package registry pam artisan pam:compatibility spatie/laravel-permission --refresh
Queue autoscaling pam artisan pam:autoscale queue --cpu=80 --p95=400
Forge script pam artisan pam:forge-script --output=deploy/forge-deploy.sh
MCP server pam artisan pam:mcp

Remote actions are deploy, rollback, status, logs, top, workers, queues, scheduler, and scale. Scale requires --process and --instances=1..128; logs accepts --lines. rollback, logs, workers, queues, scheduler, and scale also have direct pam <action> aliases.

edge / load balancer
PAM master ── HTTP worker 1
├─ HTTP worker 2
└─ HTTP worker N
process supervisor
├─ queue workers
├─ scheduler
├─ Horizon
└─ Nightwatch agent

Laravel receives one active request per HTTP worker because framework managers, facades, and third-party packages can contain mutable process-global state. Scale requests through the worker cluster. Scale queues and operational agents through the process manifest.

Terminal window
pam doctor
pam artisan pam:check-production
pam artisan pam:leaks
pam artisan pam:health

Lock the Composer dependency graph, exercise the real database, cache, queue, storage, authentication, and upload paths, then run a long-duration RSS test. Choose worker count and --max-requests from measured p95/p99 latency, memory, and downstream capacity.

Continue with observability, Cloud and Forge, and autoscaling.