Looking to hire Laravel developers? Try LaraJobs

relay-cloud-laravel maintained by darknautica

Description
Official Laravel package for Relay Cloud — zero-config WebSocket broadcasting
Author
Last update
2026/04/13 04:52 (dev-main)
License
Links
Downloads
1

Comments
comments powered by Disqus

Relay Cloud for Laravel

Tests Latest Version on Packagist License: MIT

Zero-config WebSocket broadcasting for Laravel, powered by Relay Cloud.

Installation

composer require darknautica/relay-cloud-laravel

Add your credentials to .env:

RELAY_APP_KEY=your-app-key
RELAY_APP_SECRET=your-app-secret

That's it. Broadcasting works. No manual editing of config/broadcasting.php required.

Find your credentials at relaycloud.dev under your project's settings.

Usage

Verify your setup

php artisan relay:install

This prints your connection details and the Laravel Echo JavaScript snippet you need for your frontend.

Laravel Echo setup

Add this to resources/js/bootstrap.js:

import Echo from 'laravel-echo';
import Pusher from 'pusher-js';

window.Pusher = Pusher;
window.Echo = new Echo({
    broadcaster: 'pusher',
    key: import.meta.env.VITE_RELAY_APP_KEY,
    wsHost: 'ws.relaycloud.dev',
    wsPort: 443,
    wssPort: 443,
    forceTLS: true,
    disableStats: true,
    enabledTransports: ['ws', 'wss'],
});

Add to your .env:

VITE_RELAY_APP_KEY="${RELAY_APP_KEY}"

Broadcasting events

Use Laravel broadcasting as normal. All standard features work out of the box:

broadcast(new OrderShipped($order));

Self-hosted Relay

To point at your own Relay server instead of Relay Cloud, set these additional environment variables:

RELAY_HOST=your-relay-host.example.com
RELAY_PORT=6001
RELAY_SCHEME=https

For local development without SSL:

RELAY_HOST=127.0.0.1
RELAY_PORT=6001
RELAY_SCHEME=http

Publishing the config

If you need to customize the configuration beyond environment variables:

php artisan vendor:publish --tag=relay-config

This publishes config/relay.php to your application's config directory.

Local Development

To test the package in a local Laravel app before publishing to Packagist:

  1. In your Laravel app's composer.json, add:
"repositories": [
    {
        "type": "path",
        "url": "../relay-cloud-laravel"
    }
]
  1. Then require the package:
composer require darknautica/relay-cloud-laravel:@dev

Requirements

  • PHP 8.1+
  • Laravel 10, 11, or 12

License

MIT. See LICENSE for details.

Links