Laravel Reverb is Laravel’s first-party WebSocket server, designed to bring real-time capabilities to your applications — think live chat, notifications, collaborative apps, presence detection, and more.
Before Reverb, real-time in Laravel usually meant relying on third-party services like Pusher or rolling your own WebSocket server. While that worked, it added extra complexity and cost.
Now with Reverb, you get a fully integrated, self-hosted WebSocket solution right out of the box.
Here’s why Reverb is a big deal:
- First-party support – Tight integration with Laravel Echo, broadcasting, and events.
- Self-hosted – No more relying on Pusher or external services (great for security and scalability).
- Horizontal scalability – Reverb supports multiple nodes, works great behind load balancers.
- Presence channels – Track who’s online, who’s typing, etc.
- Native support in Laravel – One command to start broadcasting.
If your app needs anything real-time, Reverb is now the go-to solution.
How to Get Started with Laravel Reverb
Let’s walk through setting it up in your Laravel app.
1. Install Laravel Reverb
We can install Reverb using the install:broadcasting
Artisan command:
php artisan install:broadcasting
When we run the php artisan install:broadcasting
command in a Laravel 11+ project, it does a lot of the heavy lifting for us:
- ✅ Automatically installs Laravel Reverb as our default broadcasting driver.
- 🛠️ Adds the necessary configuration to our
.env
file, includingBROADCAST_DRIVER=reverb
. - 📁 Publishes the
broadcasting.php
andreverb.php
config files to ourconfig/
directory. - 📦 Installs essential Node.js dependencies like
laravel-echo
andpusher-js
to handle client-side broadcasting.
This one command gives us a full real-time setup — ready to use out of the box with Laravel Echo on the frontend and Reverb on the backend.
2. Configure Broadcasting
While install:broadcasting command done most of work for us we need to make sure that we have following configuration in our .env file :
BROADCAST_DRIVER=reverb
REVERB_APP_ID=273009
REVERB_APP_KEY=iudtry53ohnjip8adtcd
REVERB_APP_SECRET=lqk3tibgw47upncapnd3
REVERB_HOST="localhost"
REVERB_PORT=8080
REVERB_SCHEME=http
VITE_REVERB_APP_KEY="${REVERB_APP_KEY}"
VITE_REVERB_HOST="${REVERB_HOST}"
VITE_REVERB_PORT="${REVERB_PORT}"
VITE_REVERB_SCHEME="${REVERB_SCHEME}"
Here REVERB_APP_ID, REVERB_APP_KEY and REVERB_APP_SECRET automtically generated by Artisan command, if we want we can change these value according to us.
3. Run Laravel Reverb Server
for Run laravel reverb server need to run following artisan command
php artisan reverb:start
by default, It will start Reverb Server on 0.0.0.0:8080, if we want to change it we can add REVERB_SERVER_HOST and REVERB_SERVER_PORT in our .env file
REVERB_SERVER_HOST=0.0.0.0
REVERB_SERVER_PORT=8080
We can also start Reverb Server in debug mode by following command
php artisan reverb:start --debug
Leave a Reply