{"repo":"mbroton/playwright-distributed","free":true,"listed":false,"github":"https://github.com/mbroton/playwright-distributed","clone":"git clone https://github.com/mbroton/playwright-distributed.git","description":"Self-hosted, horizontally-scalable Playwright grid. Spin up as many browser workers as you need on your own infrastructure and access them through a single WebSocket endpoint.","language":"Go","stars":34,"topics":["browser-automation","distributed-systems","docker","playwright"],"license":"Apache-2.0","category":"scrapers-browser-automation","readme_excerpt":"playwright-distributed Self-hosted, horizontally-scalable Playwright grid. Spin up as many browser workers as you need on your own infrastructure and access them through a single WebSocket endpoint. --- Why use playwright-distributed? - Single WebSocket endpoint routes each session through a smart selector that balances load and staggers worker restarts. - Warm browser instances (Chrome, Firefox, WebKit) - no waiting for browser startup. - Each connection gets a fresh, isolated browser context. - Stateless design: add or remove workers at any time; Redis is the only shared component. - Works with any Playwright client. Motivation Modern teams often need many concurrent browsers : scraping pipelines, AI agents, CI test suites, synthetic monitors… Spawning a fresh headless browser for every task wastes tens of seconds and huge amounts of memory. Existing SaaS grids solve this but: 1. You may not want to ship data to a third-party cloud. 2. Vendor pricing scales linearly with sessions. 3. Latency to a remote grid quickly adds up. playwright-distributed lets you run your own grid with Docker-simple deployment: - Keep data on your infrastructure. - Pay only for the compute you actually run (add/remove workers on demand). - Share one endpoint across languages, teams and use-cases. 🚀 Quick Start (Local) Connect from your code: Want Firefox or WebKit? Append /?browser=firefox or /?browser=webkit to the WebSocket URL and use the matching Playwright client ( p.firefox.connect , p.webk","default_branch":null,"files":null,"tree":[],"storefront":"/r/mbroton","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mbroton/playwright-distributed/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}