What is Laravel Reverb? How it’s make Real Time Communication very easy?

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, including BROADCAST_DRIVER=reverb.
  • 📁 Publishes the broadcasting.php and reverb.php config files to our config/ directory.
  • 📦 Installs essential Node.js dependencies like laravel-echo and pusher-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

Your email address will not be published. Required fields are marked *

I’m Mahesh

Welcome to my Blog, my cozy corner of the internet where code meets creativity.
Here, I share my journey through development, side projects, and digital craftsmanship—with a sprinkle of curiosity and passion. Whether it’s building tools, tinkering with tech, or exploring new ideas, this is my little dev haven. Let’s build something awesome!

Let’s connect