Operations

Minimal vs full stack

Cloners can run a minimal stack without Redis, a full stack with Herd Redis/Reverb/Horizon/Pulse, or the same full stack via Docker Compose (no Herd).

MinimalFull (Herd)Full (Docker Compose)
RedisOptional / offRequired (guide)redis service in compose.yaml
QueueQUEUE_CONNECTION=databaseQUEUE_CONNECTION=redis + Horizonhorizon service
BroadcastBROADCAST_CONNECTION=logBROADCAST_CONNECTION=reverb + Reverbreverb on host :8081 (avoids Herd :8080)
Notifications UI60s poll only (realtime off)Echo push on private channel; no 60s poll while connectedSame as full
Presence / avatar WS dotOffline / “Realtime off”Presence online + avatar ConnectionDotSame as full
PulseOff or storage ingestRedis ingest + pulse:work (Pulse)pulse service
Dashboard HealthEmpty / unavailable Pulse & Horizon cardsNative Pulse + Horizon metricsSame as full
How to startcomposer run devHerd + Horizon + Pulse (below)cp .env.docker.example .env && docker compose up --build:8000

Prefer one local path per checkout: Herd/bare-metal or Docker Compose. Compose overrides APP_URL / DB hosts via COMPOSE_* so a leftover Herd .env does not break containers — Installation — Docker.

Bare-metal / VPS production without Compose: Deployment. Production without Redis: Production without Redis. Docker production image: Deployment — Docker.

Processes (full local with Herd)

Herd already serves the site and (with Pro) Reverb on :8080. Besides Vite / Pail / optional artisan serve:

ProcessRequired?
php84 artisan horizonYes — Redis queues + Health Horizon cards
php84 artisan pulse:workYes — Pulse aggregates for Health
Herd Reverb serviceYes for Echo — already running; match .env credentials
php artisan reverb:startOnly 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.

Previous
Pulse & Health tab