Running Laravel Reverb

Reverb 2,157 (https://github.com/laravel/reverb 1,620 ) 1.12.0 (22 September 2026, MIT) is Laravel 2,157 's WebSocket server, running on a ReactPHP event loop and speaking the Pusher 1,853 protocol. php artisan install:broadcasting --reverb adds routes/channels.php, config/reverb.php, config/broadcasting.php and resources/js/echo.js, writes an app id, key and secret to .env, and sets BROADCAST_CONNECTION=reverb. For token clients, replace channels: in withRouting() with withBroadcasting() and the options ['prefix' => 'api', 'middleware' => ['api', 'auth:sanctum']], which registers /api/broadcasting/auth.

Output of 201
$ php artisan reverb:start --port=8320 --debug
   INFO  Starting server on 0.0.0.0:8320 (127.0.0.1).
  Connection Established .................................. 906170245.31443783
  Message Received ........................................ 906170245.31443783
  Message Handled ......................................... 906170245.31443783
  Broadcasting To ........................................... private-orders.1

REVERB_SERVER_HOST/_PORT set where the server listens; REVERB_HOST/_PORT (here 127.0.0.1:8320) set where Laravel and clients reach it, in production usually a proxy on 443 that passes /app (sockets) and /apps (HTTP API). Supervise Reverb like a queue worker (Queue Workers), run reverb:restart on deploy, raise ulimit -n, and install ext-uv before about 1,000 connections. REVERB_SCALING_ENABLED=true links several servers through Redis 2,763 .

Reverb and hosted alternatives (list prices, 23 September 2026)
Service Free tier Entry paid plan
Reverb (self-hosted) Free, MIT Your server's cost
Pusher Channels 200k messages/day, 100 connections $49/month: 1M/day, 500
Ably 49,435 6M messages/month, 200 connections $29/month plus usage