Real-time features with Laravel Reverb
Real-time features with Laravel Reverb
Laravel Reverb provides WebSocket support for real-time features in your application, such as live notifications, chat messages, or status updates. Ploi Cloud makes it simple to deploy Reverb alongside your Laravel application.
What is Laravel Reverb?
Reverb is Laravel's first-party WebSocket server that enables bidirectional communication between your application and connected users. It's perfect for features that need instant updates without page refreshes.
Setting up Reverb
To add Reverb to your Laravel application on Ploi Cloud:
1. Add environment variables
In your application's Secrets tab, the environment variables below are added automatically. You generally do not have to change them.
BROADCAST_CONNECTION=reverb
REVERB_APP_ID=your-app-id
REVERB_APP_KEY=your-app-key
REVERB_APP_SECRET=your-app-secret
REVERB_HOST=your-websocket-domain
REVERB_PORT=6001
REVERB_SCHEME=http
2. Create a Reverb worker service
Reverb runs as a dedicated worker service in your application:
- Navigate to your application's Services tab
- Click "Add service" and select "Worker"
- Choose "Laravel Reverb" as the worker type
- Enter a name like "reverb" or "websocket-server"
- The command is automatically set to:
php artisan reverb:start --host=0.0.0.0 --port=6001 - Deploy your application
The Reverb service will automatically expose port 6001 for WebSocket connections.
3. Configure your Laravel application
Make sure your Laravel app has Reverb installed and configured:
composer require laravel/reverb
Update your config/broadcasting.php to use the Reverb driver, and ensure your config/reverb.php matches your environment variables.
How it works
Once deployed, your Reverb worker:
- Runs continuously as a separate service
- Shares the same code and storage as your main application
- Automatically reconnects if it restarts
- Handles all WebSocket connections on port 6001
Your main application broadcasts events to Reverb, which then pushes them to connected users in real-time.
Testing your connection
Ploi Cloud includes a built-in Reverb connection tester:
- Go to your application's Overview tab
- Find your Reverb service in the services list
- Click the menu (three dots) and select "Test connection"
- A modal will show connection details and live connection status
- Click "Connect" to test the WebSocket connection
- Watch the event log to see connection status changes
This helps verify that:
- Your Reverb service is running
- Environment variables are correct
- WebSocket connections work properly
- The service is accessible from outside the platform
Scaling considerations
For applications with many concurrent users:
- Increase the Reverb worker's memory allocation in the service settings
- Monitor the Reverb service logs for connection issues