https://github.com/durable-workflow/waterline
An elegant UI for monitoring workflows.
https://github.com/durable-workflow/waterline
background-jobs laravel php queues workflows
Last synced: 20 days ago
JSON representation
An elegant UI for monitoring workflows.
- Host: GitHub
- URL: https://github.com/durable-workflow/waterline
- Owner: durable-workflow
- License: mit
- Created: 2022-10-31T03:35:59.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2026-05-05T19:56:41.000Z (about 1 month ago)
- Last Synced: 2026-05-05T21:27:03.154Z (about 1 month ago)
- Topics: background-jobs, laravel, php, queues, workflows
- Language: PHP
- Homepage:
- Size: 42.1 MB
- Stars: 198
- Watchers: 7
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Waterline
An elegant UI for monitoring [workflows](https://github.com/durable-workflow/workflow).
## Installation
This UI is installable via [Composer](https://getcomposer.org).
```bash
composer require laravel-workflow/waterline
php artisan waterline:install
```
## 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
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`:
```php
'workflow_sort_column' => 'created_at',
```
## Upgrading Waterline
After upgrading Waterline you must publish the latest assets.
```bash
composer require durable-workflow/waterline
php artisan waterline:publish
```
## Dashboard View

### Workflow View

## Development
1. Install dependencies:
```bash
composer install
npm install
```
2. Build assets:
```bash
npm run production
```
3. Publish assets to testbench:
```bash
./vendor/bin/testbench waterline:publish
```
4. Run migrations:
```bash
./vendor/bin/testbench workbench:create-sqlite-db
./vendor/bin/testbench migrate:fresh --database=sqlite
```
5. Start server:
```bash
composer run serve
```
6. Access dashboard:
- Local: http://localhost:18280/waterline
7. Create test workflow:
```bash
./vendor/bin/testbench workflow:create-test
```
8. Run queue worker:
```bash
./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.