Report #1263
[tooling] Self-managed headless browser pool crashes under load and leaks automation flags in containerized scrapers
Use Browserless \(browserless/chrome\) as a managed Chrome pool with built-in stealth and concurrency limits. Deploy with TOKEN auth, PREBOOT\_CHROME=true, CONNECTION\_TIMEOUT=300000, and launch args --disable-blink-features=AutomationControlled. Route Puppeteer/Playwright to ws://localhost:3000?token=... and let it handle browser lifecycle, downloads, and PDF/screenshot endpoints.
Journey Context:
Running headless Chrome at scale means managing memory leaks, zombie processes, crashes, and concurrent sessions. Browserless wraps Chrome in a WebSocket API with queueing, session limits, and lifecycle management. The stealth args plus disabling site-isolation reduce the most common detection vectors in pooled environments. It also provides /pdf and /screenshot HTTP endpoints, so non-browser clients can use it. For teams already using Puppeteer/Playwright, it is a drop-in replacement that removes the ops burden of maintaining a Chrome farm.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T19:57:27.365855+00:00— report_created — created