PHPackages                             bitsoftsolutions/laravel-reverb-doctor - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. bitsoftsolutions/laravel-reverb-doctor

ActiveLibrary[CLI &amp; Console](/categories/cli)

bitsoftsolutions/laravel-reverb-doctor
======================================

A CLI diagnostic tool that performs comprehensive health checks on Laravel Reverb WebSocket configurations

0201PHP

Since Dec 4Pushed 6mo agoCompare

[ Source](https://github.com/hafizSiddiq7675/laravel-reverb-doctor)[ Packagist](https://packagist.org/packages/bitsoftsolutions/laravel-reverb-doctor)[ RSS](/packages/bitsoftsolutions-laravel-reverb-doctor/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependenciesVersions (1)Used By (1)

Laravel Reverb Doctor
=====================

[](#laravel-reverb-doctor)

[![Latest Version on Packagist](https://camo.githubusercontent.com/dea239f243bba2a7296e30cf4952d678a06b98b71bb1e900aba2439cb5defb8d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f626974736f6674736f6c7574696f6e732f6c61726176656c2d7265766572622d646f63746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/bitsoftsolutions/laravel-reverb-doctor)[![Total Downloads](https://camo.githubusercontent.com/0586d06731d9ae851708e950a98c009e9a5997279b9b2e1dd3c521f9df39c5e1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f626974736f6674736f6c7574696f6e732f6c61726176656c2d7265766572622d646f63746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/bitsoftsolutions/laravel-reverb-doctor)[![License](https://camo.githubusercontent.com/e4b263f26a3332b55a2dc744f33245433fe0f3bb4472f5e28a6a221ae5271cdc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f626974736f6674736f6c7574696f6e732f6c61726176656c2d7265766572622d646f63746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/bitsoftsolutions/laravel-reverb-doctor)

A CLI diagnostic tool that performs comprehensive health checks on Laravel Reverb WebSocket configurations. Stop spending hours debugging WebSocket issues — let `reverb:doctor` diagnose your configuration in seconds.

Features
--------

[](#features)

- **10 Diagnostic Checks** covering the most common Reverb configuration issues
- **Actionable Suggestions** for every detected problem
- **Color-coded Output** with PASS/FAIL/WARN/SKIP status indicators
- **JSON Output** for CI/CD integration
- **Docker/Sail Detection** with specific configuration advice
- **SSL Certificate Validation** including expiration warnings
- **Zero Dependencies** — uses only Laravel core packages

Requirements
------------

[](#requirements)

- PHP 8.1+
- Laravel 10.x, 11.x, or 12.x
- Laravel Reverb package installed

Installation
------------

[](#installation)

```
composer require bitsoftsolutions/laravel-reverb-doctor --dev
```

The package will auto-register via Laravel's package discovery.

Usage
-----

[](#usage)

### Basic Usage

[](#basic-usage)

```
php artisan reverb:doctor
```

### Output Example

[](#output-example)

```
  Laravel Reverb Doctor v1.0.0

+----+-----------------------+--------+-----------------------------------------------+
| #  | Check                 | Status | Message                                       |
+----+-----------------------+--------+-----------------------------------------------+
| 1  | Environment Variables | ✓ PASS | All variables present                         |
| 2  | Config Consistency    | ✓ PASS | .env matches config files                     |
| 3  | Broadcast Connection  | ✗ FAIL | Set to 'log', should be 'reverb'              |
| 4  | Port Availability     | ✓ PASS | Port 8080 is available                        |
| 5  | Reverb Process        | ! WARN | Reverb is not running                         |
| 6  | SSL Certificate       | - SKIP | SSL not configured (using HTTP)               |
| 7  | Queue Worker          | ✓ PASS | Queue worker is running                       |
| 8  | Frontend Sync         | ✓ PASS | Frontend and server configs are in sync       |
| 9  | Docker Detection      | - SKIP | Not running in Docker                         |
| 10 | Connection Test       | ✗ FAIL | Cannot connect to localhost:8080              |
+----+-----------------------+--------+-----------------------------------------------+

  ✗ 2 failed, 1 warning, 5 passed, 2 skipped

  Suggested Fixes:

  ✗ Broadcast Connection
    Set BROADCAST_CONNECTION=reverb in your .env file

  ! Reverb Process
    Start Reverb with: php artisan reverb:start

  ✗ Connection Test
    Ensure Reverb is running: php artisan reverb:start

```

### JSON Output (for CI/CD)

[](#json-output-for-cicd)

```
php artisan reverb:doctor --json
```

```
{
    "version": "1.0.0",
    "timestamp": "2025-12-04T12:00:00+00:00",
    "summary": {
        "passed": 5,
        "failed": 2,
        "warnings": 1,
        "skipped": 2,
        "total": 10
    },
    "checks": [
        {
            "check": "Environment Variables",
            "status": "PASS",
            "message": "All variables present",
            "suggestion": null,
            "details": {}
        }
    ]
}
```

### Detailed Output

[](#detailed-output)

```
php artisan reverb:doctor --detailed
```

Shows additional diagnostic information for each check, useful for debugging complex issues.

Diagnostic Checks
-----------------

[](#diagnostic-checks)

\#CheckDescription1**Environment Variables**Verifies all required `REVERB_*` and `VITE_REVERB_*` variables exist in `.env`2**Config Consistency**Compares `.env` values against `config/reverb.php` and `config/broadcasting.php`3**Broadcast Connection**Checks `BROADCAST_CONNECTION=reverb` (critical—defaults to 'log')4**Port Availability**Tests if configured port (default 8080) is available or already in use5**Reverb Process**Detects if `php artisan reverb:start` is currently running6**SSL Certificate**Validates SSL cert paths exist and are readable; checks expiration7**Queue Worker**Checks if queue worker is running (required for `ShouldBroadcast` events)8**Frontend Sync**Compares `VITE_REVERB_*` variables with server-side configuration9**Docker Detection**If Docker/Sail detected, verifies port exposure and host bindings10**Connection Test**Attempts actual WebSocket handshake to configured endpointCommon Issues Detected
----------------------

[](#common-issues-detected)

The package recognizes and provides fixes for these common error patterns:

Error MessageRoot Cause`cURL error 60: SSL certificate problem`Valet/Herd self-signed cert not trusted`cURL error 7: Failed to connect`Port mismatch or Reverb not running`WebSocket closed before connection`SSL handshake failure or Nginx misconfigured`'reverb' is not a supported driver`Using deprecated `BROADCAST_DRIVER`CI/CD Integration
-----------------

[](#cicd-integration)

Use the `--json` flag and check the exit code:

```
# GitHub Actions example
- name: Check Reverb Configuration
  run: |
    php artisan reverb:doctor --json > reverb-health.json
    if [ $? -ne 0 ]; then
      echo "Reverb configuration issues detected"
      cat reverb-health.json
      exit 1
    fi
```

Exit codes:

- `0` — All checks passed
- `1` — One or more checks failed

Environment-Specific Notes
--------------------------

[](#environment-specific-notes)

### Docker / Laravel Sail

[](#docker--laravel-sail)

When running in Docker, ensure:

- `REVERB_HOST` is set to `0.0.0.0` (not `localhost`)
- Port is exposed in `docker-compose.yml`
- Frontend uses correct host for WebSocket connections

### Laravel Valet / Herd

[](#laravel-valet--herd)

For HTTPS with self-signed certificates:

- The SSL check will detect Valet/Herd certificate paths
- Connection tests allow self-signed certs in local environments

### Production

[](#production)

For production deployments:

- Ensure SSL certificates are valid and not expiring soon
- Queue workers should be running via Supervisor or similar
- Consider using a process manager for `reverb:start`

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Contributions are welcome! Please feel free to submit a Pull Request.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

Credits
-------

[](#credits)

- [Hafiz Siddiq](https://github.com/hafizSiddiq7675)
- [All Contributors](../../contributors)

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance46

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity13

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/29893550?v=4)[Siddiq Umer](/maintainers/hafizSiddiq7675)[@hafizSiddiq7675](https://github.com/hafizSiddiq7675)

---

Top Contributors

[![hafizSiddiq7675](https://avatars.githubusercontent.com/u/29893550?v=4)](https://github.com/hafizSiddiq7675 "hafizSiddiq7675 (4 commits)")

### Embed Badge

![Health badge](/badges/bitsoftsolutions-laravel-reverb-doctor/health.svg)

```
[![Health](https://phpackages.com/badges/bitsoftsolutions-laravel-reverb-doctor/health.svg)](https://phpackages.com/packages/bitsoftsolutions-laravel-reverb-doctor)
```

###  Alternatives

[seld/cli-prompt

Allows you to prompt for user input on the command line, and optionally hide the characters they type

24726.4M22](/packages/seld-cli-prompt)[illuminate/console

The Illuminate Console package.

13045.3M6.2k](/packages/illuminate-console)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
