{"id":20314918,"url":"https://github.com/catchpoint/webpagetest.agent-install","last_synced_at":"2025-04-11T17:21:45.799Z","repository":{"id":38085603,"uuid":"117120739","full_name":"catchpoint/WebPageTest.agent-install","owner":"catchpoint","description":"Automated scripts for installing dedicated wptagent instances","archived":false,"fork":false,"pushed_at":"2025-01-17T14:51:54.000Z","size":3117,"stargazers_count":11,"open_issues_count":8,"forks_count":27,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-25T13:11:38.458Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/catchpoint.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}},"created_at":"2018-01-11T16:00:32.000Z","updated_at":"2025-01-17T14:51:56.000Z","dependencies_parsed_at":"2023-02-07T20:01:37.190Z","dependency_job_id":"756a9619-700e-4515-9a41-7a09b61a525d","html_url":"https://github.com/catchpoint/WebPageTest.agent-install","commit_stats":null,"previous_names":["catchpoint/webpagetest.agent-install"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catchpoint%2FWebPageTest.agent-install","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catchpoint%2FWebPageTest.agent-install/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catchpoint%2FWebPageTest.agent-install/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catchpoint%2FWebPageTest.agent-install/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/catchpoint","download_url":"https://codeload.github.com/catchpoint/WebPageTest.agent-install/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248447704,"owners_count":21105163,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-14T18:17:12.232Z","updated_at":"2025-04-11T17:21:45.767Z","avatar_url":"https://github.com/catchpoint.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wptagent-install\n\nAutomated scripts for installing [dedicated wptagent agents](https://github.com/catchpoint/WebPageTest.agent).\n\n\n## Configuration\n\nFor [the `debian.sh` script](./debian.sh), environment variables control the options. For example:\n\n```bash\nWPT_SERVER=\"webpagetest.mycompany.com\" \\\nWPT_LOCATION=\"Location Name\" \\\nWPT_KEY=\"xxxSomeSecretKeyxxx\" \\\nDISABLE_IPV6=y \\\nWPT_OPERA=y \\\nWPT_VIVALDI=y \\\nbash \u003c(curl -s https://raw.githubusercontent.com/catchpoint/WebPageTest.agent-install/master/debian.sh)\n```\n\n### Location config\n\nThese will prompt if not specified _and_ not installing for cloud.\n\n* `WPT_SERVER` - WebPageTest server. i.e. `WPT_SERVER=\"webpagetest.mycompany.com\"`\n* `WPT_LOCATION` - Location ID for the agent. i.e. `WPT_LOCATION=\"Location Name\"`.\n* `WPT_KEY` - [API Key](https://docs.webpagetest.org/api/keys/) for the location.\n\n### Agent config\n\n* `WPT_CLOUD` - blank (default) for no cloud, `ec2` or `gce` : get config dynamically from user data in Google or Amazon cloud.\n* `AGENT_MODE` - `desktop` (default), `ios` or `android`.\n* `WPT_UPDATE_AGENT` - `y` (default) or `n` : Automatically update the agent from GitHub’s release branch hourly and Lighthouse daily.\n* `WPT_BRANCH` - `release` (default) : Specify GitHub branch to sync.\n\n### OS config\n\n* `DISABLE_IPV6` - `y` or `n` (default) : Disable IPv6 networking (recommended for systems without IPv6 connectivity).\n* `WPT_UPDATE_OS` - `y` (default) or `n` : Automatically `apt dist-upgrade` all packages daily after reboot.\n* `WPT_UPDATE_OS_NOW` - `y` (default) or `n` : `apt dist-upgrade` all packages as part of the initial agent setup.\n\n### Browser(s) config\n\n* `WPT_UPDATE_BROWSERS` - `y` (default) or `n` : Reinstall certificates for browser installers daily, so they can auto-update the browsers daily.\n* `WPT_CHROME` - `y` (default) or `n` : Install Google Chrome (Stable, Beta, and Dev channels).\n* `WPT_FIREFOX` - `y` (default) or `n` : Install Mozilla Firefox (Stable, ESR, and Nightly).\n* `WPT_EDGE` - `y` (default) or `n` : Install Microsoft Edge (Dev).\n* `WPT_BRAVE` - `y` (default) or `n` : Install The Brave Browser (Stable, Beta, and Dev channels).\n* `WPT_EPIPHANY` - `y` (default) or `n` : Install Epiphany for WebKit testing (requires Ubuntu 20.04+).\n* `WPT_OPERA` - `y` or `n` (default) : Install Opera (Stable, Beta, and Dev channels).\n* `WPT_VIVALDI` - `y` or `n` (default) : Install Vivaldi.\n\n\n### Miscellaneous config\n\n* `WPT_INTERACTIVE` - `y` or `n` (default) : Install in a shared OS environment. `y` will expect to take over the whole machine, configure watchdog, cron, etc. `n` can be used for development installs and will default to the `master` branch.\n\n## Installation/Usage\n\n```bash\nWPT_SERVER=\"webpagetest.mycompany.com\" \\\nWPT_LOCATION=\"Location Name\" \\\nWPT_KEY=\"xxxSomeSecretKeyxxx\" \\\nDISABLE_IPV6=y \\\nWPT_OPERA=y \\\nWPT_VIVALDI=y \\\nbash \u003c(curl -sL https://raw.githubusercontent.com/catchpoint/WebPageTest.agent-install/master/debian.sh)\n```\n\n### Ubuntu 22.04+\n \nTested on 20.04 LTS.\n\n```bash\nbash \u003c(curl -s https://raw.githubusercontent.com/catchpoint/WebPageTest.agent-install/master/debian.sh)\n```\n\n### Google Cloud\n \n```sh\nWPT_CLOUD=gce bash \u003c(curl -s https://raw.githubusercontent.com/catchpoint/WebPageTest.agent-install/master/debian.sh)\n```\n\n### Amazon EC2\n \n```sh\nWPT_CLOUD=ec2 bash \u003c(curl -s https://raw.githubusercontent.com/catchpoint/WebPageTest.agent-install/master/debian.sh)\n```\n\n### Raspberry Pi (Raspbian Stretch+)\n \nRequires editing `~/agent.sh` after install to configure tethering and traffic shaping. Desktop testing works best with Raspbian Buster or later.\n\n**⚠️ Warning:** This takes a ***long*** time (several hours). For multiple devices, it’s generally best to configure one then clone its SD card for other devices.\n\n```sh\nbash \u003c(curl -s https://raw.githubusercontent.com/catchpoint/WebPageTest.agent-install/master/debian.sh)\n```\n\n### MacOS\n \nTested on MacOS 11 (x86 and ARM).\n\n1. Configure MacOS to log in automatically. (System Preferences→Users→Groups→Login Options)\n2. Turn off the screen saver, and configure power management to never put the display to sleep.\n3. Install Xcode manually from the app store. Launch it and accept the license.\n   * If running on an M1 device, install rosetta when prompted (after accepting the license).\n4. Run the agent install script from Terminal:\n  ```sh\n  bash \u003c(curl -s https://raw.githubusercontent.com/catchpoint/WebPageTest.agent-install/master/macos.sh)\n  ```\n5. The install script should install all browsers and prompt for the necessary system permissions.\n6. Configure the agent and watchdog to start automatically at startup:\n   1. Navigate to System Preferences→Users→Groups→Login Items\n   2. Add `~/wptagent-install/macos/Agent` and Watchdog\n7. Reboot.\n\n### Dev Setup on Ubuntu Desktop (22.04 LTS recommended)\n \nWill not configure X, watchdog, cron, or a startup script. There will be a `master` branch checkout in `~/wptagent/` and a script to run the agent at `~/agent.sh`.\n\n```sh\nWPT_INTERACTIVE=y bash \u003c(curl -sL https://raw.githubusercontent.com/catchpoint/WebPageTest.agent-install/master/debian.sh)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatchpoint%2Fwebpagetest.agent-install","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcatchpoint%2Fwebpagetest.agent-install","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatchpoint%2Fwebpagetest.agent-install/lists"}