Operations
Minimal vs full stack
Cloners can run a minimal stack without Redis. The full stack needs Herd Redis, Horizon, Pulse ingest worker, and a Reverb server (prefer Herd Pro Reverb already on :8080).
| Minimal | Full | |
|---|---|---|
| Redis | Optional / off | Required (guide) |
| Queue | QUEUE_CONNECTION=database | QUEUE_CONNECTION=redis + Horizon |
| Broadcast | BROADCAST_CONNECTION=log | BROADCAST_CONNECTION=reverb + Reverb |
| Notifications UI | 60s poll only (realtime off) | Echo push on private channel; no 60s poll while connected |
| Presence / avatar WS dot | Offline / “Realtime off” | Presence online + avatar ConnectionDot |
| Pulse | Off or storage ingest | Redis ingest + pulse:work (Pulse) |
| Dashboard Health | Empty / unavailable Pulse & Horizon cards | Native Pulse + Horizon metrics |
| Composer script | composer run dev | See processes below |
Processes (full local with Herd)
Herd already serves the site and (with Pro) Reverb on :8080. Besides Vite / Pail / optional artisan serve:
| Process | Required? |
|---|---|
php84 artisan horizon | Yes — Redis queues + Health Horizon cards |
php84 artisan pulse:work | Yes — Pulse aggregates for Health |
| Herd Reverb service | Yes for Echo — already running; match .env credentials |
php artisan reverb:start | Only if not using Herd Reverb (standalone). Conflicts on :8080 if both run |
php84 artisan horizon
php84 artisan pulse:work
composer run dev:full also starts reverb:start for non-Herd setups. With Herd Reverb up, run Horizon + Pulse yourself (or stop Herd’s Reverb before using dev:full).
.env.example blocks
See commented sections in externa-core/.env.example and Environment variables. Herd Reverb defaults: REVERB_APP_ID=1001, REVERB_APP_KEY=laravel-herd, REVERB_APP_SECRET=secret, host 127.0.0.1, port 8080.