Environment: ghcr.io/bigbodycobain/shadowbroker-backend@sha256:9502224ed69ca660d68d15b49913e9d62f1eb3d3fb253c7dddb64da73349aaa9 (:latest as of 2026-08-18), running under docker compose on linux/arm64.
What happens: every scheduled LiveUAMap scrape fails at browser launch:
INFO:services.fetchers.geo:Running scheduled Liveuamap scraper...
INFO:services.liveuamap_scraper:Starting Liveuamap scraper with Playwright Stealth...
ERROR:services.data_fetcher:task failed: update_liveuamap
playwright._impl._errors.Error: BrowserType.launch: Executable doesn't exist at
/app/.cache/ms-playwright/chromium_headless_shell-1217/chrome-linux/headless_shell
Cause: the image contains the Playwright library at browser-bundle version 1217, but the matching Chromium headless-shell was never baked in — it looks like the Playwright dependency was bumped without re-running playwright install in the backend Dockerfile, so every fresh container fails until the operator installs the browser by hand.
Workaround: docker exec <backend> playwright install chromium-headless-shell (~108 MB; the arm64 build downloads and launches fine). Lost on every container recreation, since it lands in /app/.cache, which isn't on a volume.
Suggested fix: run playwright install chromium-headless-shell (or --with-deps) in the backend image build, pinned to the shipped Playwright version, so the scraper introduced behind the #348 opt-in actually runs from the published image.
Environment:
ghcr.io/bigbodycobain/shadowbroker-backend@sha256:9502224ed69ca660d68d15b49913e9d62f1eb3d3fb253c7dddb64da73349aaa9(:latestas of 2026-08-18), running under docker compose on linux/arm64.What happens: every scheduled LiveUAMap scrape fails at browser launch:
Cause: the image contains the Playwright library at browser-bundle version 1217, but the matching Chromium headless-shell was never baked in — it looks like the Playwright dependency was bumped without re-running
playwright installin the backend Dockerfile, so every fresh container fails until the operator installs the browser by hand.Workaround:
docker exec <backend> playwright install chromium-headless-shell(~108 MB; the arm64 build downloads and launches fine). Lost on every container recreation, since it lands in/app/.cache, which isn't on a volume.Suggested fix: run
playwright install chromium-headless-shell(or--with-deps) in the backend image build, pinned to the shipped Playwright version, so the scraper introduced behind the #348 opt-in actually runs from the published image.