{"id":21755826,"url":"https://github.com/felicegeracitano/webperf-dashboard","last_synced_at":"2026-03-10T14:31:11.395Z","repository":{"id":143959905,"uuid":"162161790","full_name":"FeliceGeracitano/webperf-dashboard","owner":"FeliceGeracitano","description":"Web Performance Dashboard forked from https://github.com/boyney123/garie ","archived":false,"fork":false,"pushed_at":"2019-08-29T15:32:42.000Z","size":3106,"stargazers_count":51,"open_issues_count":3,"forks_count":20,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-13T09:12:15.417Z","etag":null,"topics":["bot","dashboard","docker","grafana","influxdb","lighthouse","metrics","travis-ci","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FeliceGeracitano.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}},"created_at":"2018-12-17T16:46:44.000Z","updated_at":"2024-08-09T08:44:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"0c752136-9e80-4082-b076-81d90bebe0b9","html_url":"https://github.com/FeliceGeracitano/webperf-dashboard","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/FeliceGeracitano/webperf-dashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeliceGeracitano%2Fwebperf-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeliceGeracitano%2Fwebperf-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeliceGeracitano%2Fwebperf-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeliceGeracitano%2Fwebperf-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FeliceGeracitano","download_url":"https://codeload.github.com/FeliceGeracitano/webperf-dashboard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FeliceGeracitano%2Fwebperf-dashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30337176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T12:41:07.687Z","status":"ssl_error","status_checked_at":"2026-03-10T12:41:06.728Z","response_time":106,"last_error":"SSL_read: 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":["bot","dashboard","docker","grafana","influxdb","lighthouse","metrics","travis-ci","typescript"],"created_at":"2024-11-26T09:21:19.794Z","updated_at":"2026-03-10T14:31:11.384Z","avatar_url":"https://github.com/FeliceGeracitano.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebPerformanceDashboard\n\n- [Introduction](#Introduction)\n- [Requirements](#Requirements)\n- [Installation](#Installation)\n- [Run The project](#Run-The-project)\n- [Configuration](#Configuration)\n- [Dashboards Built-in](#Dashboards-Built-in)\n- [Develop `packages/lighthouse`](#develop-packageslighthouse)\n- [Test local container for `packages/lighthouse`](#test-local-container-for-packageslighthouse)\n- [Deploy your container](#Deploy-your-container)\n- [GitHub BOT](#GitHub-BOT)\n- [Troubleshooting](#Troubleshooting)\n- [Other Tips](#Other-Tips)\n\n### Introduction\n\nWeb performance dashboard powered by Lighthouse, forked from [https://github.com/boyney123/garie](https://github.com/boyney123/garie)\nwith addition of\n\n- Typescript\n- Monorepo approach\n- GitHub BOT\n- Removed Pagespeed Insights (now powered by lighthouse)\n- Latest lighthouse\n- Grafana dashboards with more details\n- more to come.. (Performance delta on target Branch, more metrics, parallel page analysis)\n\n### Requirements\n\n- docker \u003e= 18 and Node \u003e= 8\n\n### Installation\n\n```bash\ngit clone https://github.com/FeliceGeracitano/webperf-dashboard.git\n```\n\n### Run the project\n\n```bash\n$ docker-compose -f \"docker-compose.yml\" up -d --build\n```\n\nopen dashboard at `localhost`, user: `admin` pass: `secret`\n\n\u003e this will run 4 services `influxdb`, `chronograf`, `grafana` \u0026 `felicegeracitano/webperf-dashboard-lighthouse`\n\n### Configuration\n\nIn the root of the application there is a `config.json` file, which is propagated to `packages/lighthouse` during docker build step.\n\nexample,\n\n```js\n{\n  \"cron\": \"0 */10 * * * *\",\n  \"urls\": [\n    { \"url\": \"https://reactjs.org\", \"options\": { \"report\": true } },\n    { \"url\": \"https://vuejs.org\", \"options\": { \"report\": true } },\n    { \"url\": \"https://angular.io\", \"options\": { \"report\": true } }\n  ]\n}\n```\n\n\u003e Set `report` if you want to save lighthouse report as html.\n\n\u003e More info about the cron pattern at https://www.npmjs.com/package/cron\n\n### Dashboards Built-in\n\n- Single Audit\n  ![Image of Single Page Dashboard](https://raw.githubusercontent.com/FeliceGeracitano/webperf-dashboard/master/static/Single.png)\n\nInspired by the lighthouse report, analyze score trend over time, identify performance metric and their thresholds. Read suggestions directly from Latest Lighthouse report embedded in the dashboard\n\n- Versus\n  ![Image of Versus Dashboard](https://raw.githubusercontent.com/FeliceGeracitano/webperf-dashboard/master/static/Versus.png)\n\nPretty much a like Single Page Dashboard but oriented to `1vs1` or `all` comparision.\n\n### Develop `packages/lighthouse`\n\nComment out `felicegeracitano/webperf-dashboard-lighthouse` service in `docker-compose.yml`, then run to spin up dependecies:\n\n```bash\n$ docker-compose -f \"docker-compose.yml\" up -d --build\n$ cd packages/lighthouse \u0026\u0026 npm start\n```\n\n### Test local container for `packages/lighthouse`\n\nIn `docker-compose.yml` replace `felicegeracitano/webperf-dashboard-lighthouse` with\n`webperf-dashboard-lighthouse` (or any other local name you prefer), then run:\n\n```\n$ cd packages/lighthouse \u0026\u0026 docker build -t webperf-dashboard-lighthouse .\n$ cd ../.. \u0026\u0026 docker-compose up\n```\n\n### Deploy your container\n\n```\n$ cd packages/lighthouse\n$ docker tag webperf-dashboard-lighthouse:latest felicegeracitano/webperf-dashboard-lighthouse:latest\n$ docker push felicegeracitano/webperf-dashboard-lighthouse:latest\n```\n\n\u003e Tip:  \n\u003e replace latest tag with fixed version etc 1.1, 2.0...\n\n### Troubleshooting\n\n- Kills all running containers with `docker kill $(docker ps -q)`\n- Delete all stopped containers with `docker rm $(docker ps -a -q)`\n- Delete all images with `docker rmi $(docker images -q)`\n\n### GitHub BOT\nYou can improve reviewers life running Lighthouse audit on every PR update.\nIn this repo there is an example using a Travis CI, the job communicate progress and result to GitHub.\n\nRunning Job:\n\u003cimg src=\"https://raw.githubusercontent.com/FeliceGeracitano/webperf-dashboard/master/static/Travi%20Ci%20in%20Progress.png\" width=800\u003e\n\nResult Comment from the BOT:\n\n\u003cimg src=\"https://raw.githubusercontent.com/FeliceGeracitano/webperf-dashboard/master/static/Audit%20Report.png\" width=600\u003e\n\n\nConfigure your repo with a Travis Job:\n- Enbale Travis Intergation for your repo (https://travis-ci.com/)\n- Enable build on Pull request: https://travis-ci.com/{owner}/{repo}/settings\n- Generate Github Access token here: https://github.com/settings/tokens\n- Set enviroment an variable called `GITHUB_TOKEN` for your Travis job with the GitHub token here: https://travis-ci.com/{owner}/{repo}/settings\n- Commit a `.travis.yml` file in your repo similar to: https://github.com/FeliceGeracitano/webperf-dashboard/blob/master/.travis.yml\n\u003e if you inspect run_audit.sh you will notice that you need to provide an url of your running up. This obsvously depends on your app, you can choose to build your app in the travis job itsels or provide an external URL.\n- `run_audit.sh` will launch the lighthouse service and inspectig your app, posting the result in the PR created.\n\n### Other Tips\n\n- if you use VSCODE install docker extensions to manage, start \u0026 stop containers: https://marketplace.visualstudio.com/items?itemName=peterjausovec.vscode-docker\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelicegeracitano%2Fwebperf-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffelicegeracitano%2Fwebperf-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelicegeracitano%2Fwebperf-dashboard/lists"}