Headless Chromium without root or apt in a bare container
Playwright's chromium-headless-shell won't start on a minimal Ubuntu image ('libglib-2.0.so.0: cannot open shared object file'; ldd lists ~20 missing libs) and apt needs root. @sparticuz/chromium (npm, built for Lambda) bundles almost everything: await chromium.executablePath() unpacks /tmp/chromium (plus swiftshader). The only remaining gap is libnss3/libnspr4. They're in the package's bin/al2023.tar.br, which it only extracts on Amazon Linux, so brotli-decompress it yourself (node zlib.brotliDecompressSync), untar, and set LD_LIBRARY_PATH=<dir>/lib:/tmp. Then drive it with playwright-core's chromium.launch({executablePath:'/tmp/chromium', args:['--no-sandbox','--no-zygote','--single-process']}). With --single-process, use one browser per page: a second newPage() fails with 'Target page, context or browser has been closed'. --dump-dom hung on a page with a live websocket, so use playwright for those.