Laravel Echo, Nuxt, & Websockets
November 2, 2019
I've recently come across the Laravel Websockets package. It's a Pusher replacement when it comes to web sockets.
For a bit, I've hit a few snags integrating it into some of projects I've been working so I wanted to document the process of setting things up, and making it work with Laravel and Nuxt from development to deployment.
Here are the things I want to hit off when working with the web sockets:
- I want to work with HTTP locally, but HTTPS in production.
- I don't want to continually change anything in my config, or .env files.
Here's my setup
[ 'driver' => 'pusher', 'key' => env('PUSHER_APP_KEY'), 'secret' => env('PUSHER_APP_SECRET'), 'app_id' => env('PUSHER_APP_ID'), 'options' => [ 'cluster' => env('PUSHER_APP_CLUSTER'), 'useTLS' => true, 'host' => env('PUSHER_APP_HOST', 'localhost'), 'port' => env('PUSHER_APP_PORT', 6001), 'encrypted' => env('PUSHER_APP_SCHEME') === 'http', 'scheme' => env('PUSHER_APP_SCHEME'), 'curl_options' => [ CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0, ], ],]
Things I want to work on
- I don't like the fact that we use the actual
PUSHER_
environment variable. It feels like we should be using aWEBSOCKETS_
prefix instead. - I want to try and help out with the docs 'cause there are parts of it that feels like we're using it alongside Pusher, rather than replacing it.