vemcogroup/nova-websockets
Integrates Laravel WebSockets with Laravel Nova to enable real-time broadcasting in your admin panel. Broadcast events to channels and deliver live updates to Nova users without polling, with straightforward configuration for WebSocket connections and Nova integration.
Treat this package as a thin Nova integration for beyondcode/laravel-websockets, not as a websocket server or a full monitoring product. The first question is whether your Nova/Laravel version is compatible: the package was last released in 2019 and is most likely suited to Nova 2.x-era applications. Check composer.json constraints before adopting it in a modern Nova 4/5 app.
Minimal adoption path:
beyondcode/laravel-websockets is already installed, configured, and working outside Nova. Confirm the dashboard route (usually /laravel-websockets) and broadcasting config are correct.composer require vemcogroup/nova-websockets
src/ for the service provider and Nova tool class. Look specifically for:
publishes() / config tags,/laravel-websockets path.app/Providers/NovaServiceProvider.php:
use Vemcogroup\NovaWebsockets\NovaWebsockets;
public function tools()
{
return [
new NovaWebsockets(),
];
}
Confirm the exact class name in the package source if your installed tag differs.php artisan config:clear
php artisan route:clear
php artisan nova:publish
php artisan websockets:serve
php artisan queue:work
/laravel-websockets URL.If the package only adds an iframe or link around the existing laravel-websockets dashboard, your day-to-day value is mostly convenience and access control, not new websocket functionality.
Use the package as a Nova-facing entry point while keeping websocket configuration in config/websockets.php and broadcasting in config/broadcasting.php. Avoid duplicating app key, port, or TLS settings inside Nova code.
Common patterns:
/laravel-websockets, either standardize that route everywhere or fork/override the tool component./laravel-websockets remains publicly reachable.php artisan tinker or a test event, then watch connections and events in the dashboard. Keep browser DevTools open to inspect the WebSocket handshake and wss:// connection.websockets:serve, a queue worker for broadcasts, and external monitoring for uptime/alerting.A practical support workflow is: support engineer opens Nova → WebSockets → checks whether clients are connected → triggers a test broadcast → confirms whether the issue is server, auth, or client subscription. That is the main day-to-day leverage.
php artisan websockets:serve is running and that clients are actually connecting.X-Frame-Options, frame-ancestors, or mixed content mean you need same-origin hosting, proxy changes, or a non-iframe link.php artisan config:clear and restart workers/servers as needed.PUSHER_APP_KEY, host, port, TLS, and the client’s Echo configuration. A dashboard showing “connected” does not guarantee private-channel auth is working.php artisan route:list | grep -i websocket if the Nova tool 404s. Subdirectory deployments and missing trailing slashes can break hardcoded dashboard URLs.storage/logs/laravel.log for server/auth errors, and php artisan websockets:serve -vvv where supported. Confirm the queue worker is consuming broadcast jobs.How can I help you explore Laravel packages today?