Staff Chat
A real-time chat widget for your team — a floating icon in the bottom-right corner of the Staff and Admin areas, backed by Laravel Reverb (self-hosted, no third-party service or subscription required).Before you install this: check your hosting
- A persistent background process (
php artisan reverb:start) kept running at all times via a process supervisor (systemd or Supervisor). - SSH/root access to your server, to set that supervisor up and to configure your web server to proxy WebSocket connections through to Reverb.
- A dedicated port open for Reverb (default
8080), reverse-proxied under your main domain so the browser can reach it overwss://on port 443.
Setup
1
Set real values in .env
2
Rebuild frontend assets
So the new
VITE_REVERB_* values are baked in:3
Proxy WebSocket traffic
For Apache, enable For Nginx, use a
mod_proxy_wstunnel and add to your vhost:location block with proxy_set_header Upgrade/Connection "upgrade" pointed at 127.0.0.1:8080.4
Start Reverb under a supervisor
So it survives reboots and crashes, for example with Supervisor:
5
Clear config and reload
BROADCAST_CONNECTION is actually set to reverb before it does anything — if you skip this setup, the widget simply doesn’t appear rather than showing a broken feature.
What it does
- One shared channel for your whole team (all Staff and Admin users) — not per-project or direct-message channels in this version.
- Fires a
chat_message_senthook after every message, so you can build on it — see Customizing with Hooks if you want to, say, forward messages to Slack too.