{"id":45764143,"url":"https://github.com/durable-workflow/waterline","last_synced_at":"2026-05-25T03:08:53.775Z","repository":{"id":63482371,"uuid":"559768001","full_name":"durable-workflow/waterline","owner":"durable-workflow","description":"An elegant UI for monitoring workflows.","archived":false,"fork":false,"pushed_at":"2026-05-05T19:56:41.000Z","size":44155,"stargazers_count":198,"open_issues_count":0,"forks_count":15,"subscribers_count":7,"default_branch":"master","last_synced_at":"2026-05-05T21:27:03.154Z","etag":null,"topics":["background-jobs","laravel","php","queues","workflows"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/durable-workflow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-10-31T03:35:59.000Z","updated_at":"2026-05-05T11:51:14.000Z","dependencies_parsed_at":"2026-04-21T19:01:27.082Z","dependency_job_id":null,"html_url":"https://github.com/durable-workflow/waterline","commit_stats":{"total_commits":23,"total_committers":1,"mean_commits":23.0,"dds":0.0,"last_synced_commit":"e3d8a96e8a48a265b5c033aa3386237375820539"},"previous_names":["durable-workflow/waterline"],"tags_count":73,"template":false,"template_full_name":null,"purl":"pkg:github/durable-workflow/waterline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durable-workflow%2Fwaterline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durable-workflow%2Fwaterline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durable-workflow%2Fwaterline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durable-workflow%2Fwaterline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/durable-workflow","download_url":"https://codeload.github.com/durable-workflow/waterline/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durable-workflow%2Fwaterline/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32783820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["background-jobs","laravel","php","queues","workflows"],"created_at":"2026-02-26T00:00:39.350Z","updated_at":"2026-05-08T14:19:27.763Z","avatar_url":"https://github.com/durable-workflow.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":"# Waterline\n\nAn elegant UI for monitoring [workflows](https://github.com/durable-workflow/workflow).\n\n## Installation\n\nThis UI is installable via [Composer](https://getcomposer.org).\n\n```bash\ncomposer require laravel-workflow/waterline\n\nphp artisan waterline:install\n```\n\n## Authorization\n\nWaterline 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.\n\n```\nGate::define('viewWaterline', function ($user) {\n    return in_array($user-\u003eemail, [\n        'admin@example.com',\n    ]);\n});\n```\n\nThis will allow only the single admin user to access the Waterline UI.\n\n## Configuration\n\nIf 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`:\n\n```php\n'workflow_sort_column' =\u003e 'created_at',\n```\n\n\n## Upgrading Waterline\n\nAfter upgrading Waterline you must publish the latest assets.\n\n```bash\ncomposer require durable-workflow/waterline\n\nphp artisan waterline:publish\n```\n\n## Dashboard View\n\n![waterline_dashboard](https://github.com/user-attachments/assets/5688a234-4c02-4d5e-84d4-5f40b5fa27c5)\n\n### Workflow View\n\n![workflow](https://github.com/user-attachments/assets/da685466-7747-4c2f-ae10-300041381d51)\n\n## Development\n\n1. Install dependencies:\n   ```bash\n   composer install\n   npm install\n   ```\n2. Build assets:\n   ```bash\n   npm run production\n   ```\n3. Publish assets to testbench:\n   ```bash\n   ./vendor/bin/testbench waterline:publish\n   ```\n4. Run migrations:\n   ```bash\n   ./vendor/bin/testbench workbench:create-sqlite-db\n   ./vendor/bin/testbench migrate:fresh --database=sqlite\n   ```\n5. Start server:\n   ```bash\n   composer run serve\n   ```\n6. Access dashboard:\n   - Local: http://localhost:18280/waterline\n7. Create test workflow:\n   ```bash\n   ./vendor/bin/testbench workflow:create-test\n   ```\n8. Run queue worker:\n   ```bash\n   ./vendor/bin/testbench queue:work\n   ```\n\n\u003csub\u003e\u003csup\u003e\"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.\u003c/sup\u003e\u003c/sub\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdurable-workflow%2Fwaterline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdurable-workflow%2Fwaterline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdurable-workflow%2Fwaterline/lists"}