PHPackages                             durable-workflow/waterline - 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. [Logging &amp; Monitoring](/categories/logging)
4. /
5. durable-workflow/waterline

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

durable-workflow/waterline
==========================

An elegant UI for monitoring Laravel Workflows.

1.0.16(1mo ago)2018.9k↑140.9%151MITPHPPHP ^8.0.2

Since Nov 19Pushed 1w ago7 watchersCompare

[ Source](https://github.com/durable-workflow/waterline)[ Packagist](https://packagist.org/packages/durable-workflow/waterline)[ RSS](/packages/durable-workflow-waterline/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (10)Dependencies (7)Versions (102)Used By (1)

Waterline
=========

[](#waterline)

An elegant UI for monitoring [workflows](https://github.com/durable-workflow/workflow).

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

[](#installation)

This UI is installable via [Composer](https://getcomposer.org).

```
composer require laravel-workflow/waterline

php artisan waterline:install
```

Authorization
-------------

[](#authorization)

Waterline exposes a dashboard at the `/waterline` URL. By default, you will only be able to access this dashboard in the local environment. However, within your `app/Providers/WaterlineServiceProvider.php` file, there is an authorization gate definition. This authorization gate controls access to Waterline in non-local environments.

```
Gate::define('viewWaterline', function ($user) {
    return in_array($user->email, [
        'admin@example.com',
    ]);
});

```

This will allow only the single admin user to access the Waterline UI.

Configuration
-------------

[](#configuration)

If your workflow IDs are strings (for example UUIDs) and do not sort in a useful order, publish the config and set `workflow_sort_column` to a timestamp column such as `created_at`:

```
'workflow_sort_column' => 'created_at',
```

Upgrading Waterline
-------------------

[](#upgrading-waterline)

After upgrading Waterline you must publish the latest assets.

```
composer require durable-workflow/waterline

php artisan waterline:publish
```

Dashboard View
--------------

[](#dashboard-view)

[![waterline_dashboard](https://private-user-images.githubusercontent.com/1130888/545636983-5688a234-4c02-4d5e-84d4-5f40b5fa27c5.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAzMjgyODcsIm5iZiI6MTc4MDMyNzk4NywicGF0aCI6Ii8xMTMwODg4LzU0NTYzNjk4My01Njg4YTIzNC00YzAyLTRkNWUtODRkNC01ZjQwYjVmYTI3YzUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDYwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA2MDFUMTUzMzA3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MWRjZWI5YmE2ZDNhZGJhZGM1YWE4NmU0NjhjMDg0NWM2NTNiMzk0MTk3YzhlNzg5MjUzODk4NDc1NDM0M2JhZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.uqa-60zVNNo4ZL5d3RHQYP38NtJEOz0wrMbBKrf8L_w)](https://private-user-images.githubusercontent.com/1130888/545636983-5688a234-4c02-4d5e-84d4-5f40b5fa27c5.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAzMjgyODcsIm5iZiI6MTc4MDMyNzk4NywicGF0aCI6Ii8xMTMwODg4LzU0NTYzNjk4My01Njg4YTIzNC00YzAyLTRkNWUtODRkNC01ZjQwYjVmYTI3YzUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDYwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA2MDFUMTUzMzA3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MWRjZWI5YmE2ZDNhZGJhZGM1YWE4NmU0NjhjMDg0NWM2NTNiMzk0MTk3YzhlNzg5MjUzODk4NDc1NDM0M2JhZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.uqa-60zVNNo4ZL5d3RHQYP38NtJEOz0wrMbBKrf8L_w)

### Workflow View

[](#workflow-view)

[![workflow](https://private-user-images.githubusercontent.com/1130888/545636986-da685466-7747-4c2f-ae10-300041381d51.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAzMjgyODcsIm5iZiI6MTc4MDMyNzk4NywicGF0aCI6Ii8xMTMwODg4LzU0NTYzNjk4Ni1kYTY4NTQ2Ni03NzQ3LTRjMmYtYWUxMC0zMDAwNDEzODFkNTEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDYwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA2MDFUMTUzMzA3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NTg5NTJhMTBlM2FmODAwMWE3MTBjZDQxNTU5NDBlODVlZTkwYTBkMTZiYTA4ZTRiZWM4NjFmZWRkN2U2YzRmYiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.b0ou4pyvPeVHBbxPvIuMSUvZAK9COfQZSJDZVjrnmQQ)](https://private-user-images.githubusercontent.com/1130888/545636986-da685466-7747-4c2f-ae10-300041381d51.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODAzMjgyODcsIm5iZiI6MTc4MDMyNzk4NywicGF0aCI6Ii8xMTMwODg4LzU0NTYzNjk4Ni1kYTY4NTQ2Ni03NzQ3LTRjMmYtYWUxMC0zMDAwNDEzODFkNTEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDYwMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA2MDFUMTUzMzA3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NTg5NTJhMTBlM2FmODAwMWE3MTBjZDQxNTU5NDBlODVlZTkwYTBkMTZiYTA4ZTRiZWM4NjFmZWRkN2U2YzRmYiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.b0ou4pyvPeVHBbxPvIuMSUvZAK9COfQZSJDZVjrnmQQ)

Development
-----------

[](#development)

1. Install dependencies: ```
    composer install
    npm install
    ```
2. Build assets: ```
    npm run production
    ```
3. Publish assets to testbench: ```
    ./vendor/bin/testbench waterline:publish
    ```
4. Run migrations: ```
    ./vendor/bin/testbench workbench:create-sqlite-db
    ./vendor/bin/testbench migrate:fresh --database=sqlite
    ```
5. Start server: ```
    composer run serve
    ```
6. Access dashboard:
    - Local:
7. Create test workflow: ```
    ./vendor/bin/testbench workflow:create-test
    ```
8. Run queue worker: ```
    ./vendor/bin/testbench queue:work
    ```

"Laravel" is a registered trademark of Taylor Otwell. This project is not affiliated, associated, endorsed, or sponsored by Taylor Otwell, nor has it been reviewed, tested, or certified by Taylor Otwell. The use of the trademark "Laravel" is for informational and descriptive purposes only. Waterline is not officially related to the Laravel trademark or Taylor Otwell.

###  Health Score

59

—

FairBetter than 98% of packages

Maintenance94

Actively maintained with recent releases

Popularity45

Moderate usage in the ecosystem

Community13

Small or concentrated contributor base

Maturity67

Established project with proven stability

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.

###  Release Activity

Cadence

Every ~13 days

Recently: every ~2 days

Total

100

Last Release

9d ago

Major Versions

0.0.13 → 1.0.02023-08-02

1.0.16 → 2.0.0-alpha.12026-04-17

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1130888?v=4)[Richard McDaniel](/maintainers/rmcdaniel)[@rmcdaniel](https://github.com/rmcdaniel)

---

Tags

background-jobslaravelphpqueuesworkflows

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/durable-workflow-waterline/health.svg)

```
[![Health](https://phpackages.com/badges/durable-workflow-waterline/health.svg)](https://phpackages.com/packages/durable-workflow-waterline)
```

###  Alternatives

[spatie/laravel-health

Monitor the health of a Laravel application

88011.3M149](/packages/spatie-laravel-health)[illuminate/log

The Illuminate Log package.

6425.0M597](/packages/illuminate-log)[spatie/laravel-flare

Send Laravel errors to Flare

101.2M6](/packages/spatie-laravel-flare)

PHPackages © 2026

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