multi-arch x multi-browser
View on Docker Hub: https://hub.docker.com/r/jacoblincool/playwright/
jacoblincool/playwright:base- Ubuntu Jammy, Node 20, Playwrightjacoblincool/playwright:chromium- Ubuntu Jammy, Node 20, Playwright, Chromiumjacoblincool/playwright:firefox- Ubuntu Jammy, Node 20, Playwright, Firefoxjacoblincool/playwright:webkit- Ubuntu Jammy, Node 20, Playwright, WebKitjacoblincool/playwright:chrome- Ubuntu Jammy, Node 20, Playwright, Chromejacoblincool/playwright:msedge- Ubuntu Jammy, Node 20, Playwright, Edgejacoblincool/playwright:all- Ubuntu Jammy, Node 20, Playwright, All Browsers
jacoblincool/playwright:base-light- Alpine 3.20, Node 23, Playwrightjacoblincool/playwright:chromium-light- Alpine 3.20, Node 23, Playwright, Chromium
Those images are running Playwright Server and expose the WebSocket endpoint, see ./server for more details.
jacoblincool/playwright:chromium-serverjacoblincool/playwright:firefox-serverjacoblincool/playwright:webkit-serverjacoblincool/playwright:chrome-serverjacoblincool/playwright:msedge-serverjacoblincool/playwright:chromium-light-server
The default endpoint is ws://localhost:53333/playwright, you can override it by setting the BROWSER_PORT and BROWSER_WS_ENDPOINT environment variables.
They can be run using the following command:
docker run --rm -p 53333:53333 jacoblincool/playwright:chromium-light-serverimport { chromium } from "playwright";
const browser = await chromium.connect("ws://localhost:53333/playwright");In examples replace (BrowserType method) launch with connect
import asyncio
import playwright.async_api as playwright
async def main():
async with playwright.async_playwright() as playwright:
browser: playwright.Browser = playwright.chromium.connect("ws://localhost:53333/playwright")
asyncio.run(main())| Browser | ARMv8 (aarch64) |
AMD64 (x86_64) |
|---|---|---|
| Chromium | ✅ | ✅ |
| Firefox | ✅ | ✅ |
| WebKit | ✅ | ✅ |
| Chrome | ❌ | ✅ |
| Edge | ❌ | ✅ |
| Browser | ARMv8 (aarch64) |
AMD64 (x86_64) |
|---|---|---|
| Chromium | ✅ | ✅ |