Laravel Reverb
Agent Workflow (MANDATORY)
Before ANY implementation, use TeamCreate to spawn 3 agents:
- fuse-ai-pilot:explore-codebase - Analyze existing broadcasting patterns
- fuse-ai-pilot:research-expert - Verify Reverb docs via Context7
- mcp__context7__query-docs - Check WebSocket and event patterns
After implementation, run fuse-ai-pilot:sniper for validation.
Overview
| Component | Purpose |
|---|---|
| Reverb Server | First-party WebSocket server for Laravel |
| Broadcasting | Send events from server to client |
| Channels | Public, private, presence scoping |
| Echo | Client-side event listener |
Decision Guide
Need real-time?
├── Live notifications → Reverb + private channel
├── Chat / messaging → Reverb + presence channel
├── Live dashboard → Reverb + public channel
├── Collaborative editing → Reverb + whisper
└── Background tasks → NOT Reverb (use Queues)
Quick Setup
php artisan install:broadcasting
BROADCAST_CONNECTION=reverb
REVERB_APP_ID=my-app
REVERB_APP_KEY=my-key
REVERB_APP_SECRET=my-secret
REVERB_HOST=0.0.0.0
REVERB_PORT=8080
Critical Rules
- Use private channels for authenticated data
- Authorize channels in
routes/channels.php - Use ShouldBroadcast for queued delivery (recommended)
- Run Reverb behind Nginx/Caddy in production with SSL
Reference Guide
| Need | Reference |
|---|---|
| Channel types, authorization | channels.md |
| Echo setup, client listeners | client.md |
Best Practices
DO
- Use
ShouldBroadcastwith queue for scalability - Authorize private and presence channels
- Use presence channels for user awareness
DON'T
- Broadcast sensitive data on public channels
- Forget to configure CORS for cross-origin clients
- Expose Reverb directly without a reverse proxy
Laravel 13 Notes
Reverb 1.4 est compatible Laravel 13 sans changement. À noter :
- La queue
broadcastprofite du nouveauQueue::route()(voir [[laravel-queues]]) Context::add()propagé automatiquement dans les broadcast events- PHP 8.3 minimum pour le serveur Reverb embarqué