I feel your pain, even though I haven't had to migrate from laravel-websockets to Reverb myself.
A few questions to tailor the migration strategy:
- Are you using private channels with authentication?
- Do you have custom event broadcasting beyond basic real-time updates?
- What's your current server setup - single instance or multiple behind the ALB?
- Are you using any laravel-websockets specific features like statistics/debugging dashboard?
High-level migration approach:
Phase 1: Parallel Setup
# Install Reverb alongside existing setup
composer require laravel/reverb
php artisan reverb:install
Phase 2: Configuration Migration
// config/broadcasting.php - add reverb connection
'reverb' => [
'driver' => 'reverb',
'key' => env('REVERB_APP_KEY'),
'secret' => env('REVERB_APP_SECRET'),
'app_id' => env('REVERB_APP_ID'),
'options' => [
'host' => env('REVERB_HOST'),
'port' => env('REVERB_PORT', 443),
'scheme' => env('REVERB_SCHEME', 'https'),
],
],
Phase 3: ALB/Infrastructure This is probably your biggest pain point - Reverb runs differently than laravel-websockets.
The tricky parts I'm expecting:
- SSL termination changes
- Port management with ALB
- Process management (Reverb vs WebSocket server)
Have you looked at your current laravel-websockets configuration? What's your authentication setup like - that'll be where I'd suggest starting next aside from answering the initial questions