Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Reverb Laravel Package

laravel/reverb

Laravel Reverb adds real-time WebSocket support to Laravel, enabling broadcasting and live updates with a first-party, self-hosted server and seamless Laravel integration. Ideal for chat, notifications, and presence features.

View on GitHub
Deep Wiki
Context7

Laravel Reverb provides a real-time WebSocket communication backend for Laravel applications.

Frequently asked questions about Reverb
How do I migrate from Pusher to Laravel Reverb in an existing Laravel app?
Update your `config/broadcasting.php` to use the `reverb` driver instead of `pusher`, then install Reverb via Composer (`composer require laravel/reverb`). Run the Reverb server (`php artisan reverb:serve`) and test with Laravel Echo. The official docs provide a step-by-step guide for replacing Pusher’s HTTP API with Reverb’s WebSocket endpoint.
Does Laravel Reverb support Laravel 11? Will it break my existing app?
Reverb officially supports Laravel 10+ and PHP 8.1+. Laravel 11 compatibility is not yet announced, but the team typically backports changes. Check the [Reverb GitHub](https://github.com/laravel/reverb) for updates. If you’re on Laravel 11, verify the `laravel/framework` version in `composer.json` doesn’t conflict with Reverb’s dependencies.
Can I use Reverb for high-concurrency applications like live trading dashboards?
Reverb is designed for scalability but requires Redis pub/sub for horizontal scaling. Test with your expected concurrent connections (e.g., 10K+ users) and monitor memory usage. The `reverb:tune` command helps optimize connection limits. For extreme loads, consider running multiple Reverb instances behind a load balancer with sticky sessions.
How do I secure WebSocket connections in production? Are there risks with the Pusher HTTP API fallback?
Reverb v1.10.2+ includes timing-safe signature checks for Pusher HTTP API compatibility, mitigating timing attacks. Always use HTTPS, validate app keys/secrets in `.env`, and restrict Reverb’s Redis access. Avoid exposing the WebSocket port publicly—use a reverse proxy (e.g., Nginx) with authentication middleware. For sensitive apps, disable HTTP API fallback entirely.
What’s the difference between running Reverb as a standalone service vs. embedded in Laravel?
Standalone mode (e.g., Docker container) is recommended for production, allowing independent scaling. Embedded mode (`php artisan reverb:serve`) is for development. Standalone requires configuring Redis and environment variables separately, while embedded shares Laravel’s config. Use `REVERB_RUNNER=standalone` in your deployment to switch modes.
Does Reverb work with Laravel Sanctum for WebSocket authentication?
Yes, Reverb integrates with Sanctum out of the box. Configure Sanctum’s personal access tokens in `config/broadcasting.php` under the `auth` key for Reverb. Users authenticated via Sanctum will automatically have access to WebSocket channels. For custom auth, use the `reverb.auth` event to validate credentials.
How do I monitor Reverb’s performance and connection health in production?
Use Laravel Horizon to monitor Reverb’s queue jobs and connection metrics. Enable Redis monitoring for pub/sub lag. Log WebSocket events (e.g., `reverb.log` channel) and set up alerts for high connection drops. The `reverb:metrics` command provides real-time stats like active connections and message throughput.
Are there alternatives to Reverb for Laravel WebSockets? When should I choose another?
Alternatives include Pusher, Ably, or self-hosted solutions like Socket.io with Laravel Echo. Choose Reverb if you want a first-party, self-hosted solution with minimal operational overhead. Opt for Pusher/Ably if you need global CDN support or don’t want to manage infrastructure. For custom protocols, consider raw WebSocket libraries like Ratchet or BeyondCode’s Laravel WebSockets.
How do I test WebSocket functionality in Laravel before deploying Reverb?
Use Laravel’s built-in testing tools: mock the `Reverb` facade in PHPUnit or test with Pest. For browser-side tests, use Laravel Echo’s `Pusher` mock or a real Reverb instance in staging. The `php artisan reverb:test-signature` command verifies Pusher HTTP API compatibility. Test edge cases like connection drops and reconnects with tools like Chrome DevTools or Postman’s WebSocket client.
Can I use Reverb with Laravel Vapor for serverless deployments?
Reverb is not officially supported on Vapor due to its long-running process requirements, but you can run it in a separate container or Lambda-like environment (e.g., AWS Fargate) with Redis externalized. Configure Vapor to route WebSocket traffic to the Reverb container. Monitor cold starts and connection timeouts, as serverless may introduce latency for WebSocket handshakes.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai