Skip to content

Quickstart (Local)

Get rayobrowse running locally in under 5 minutes. All you need is Docker and any CDP client (Playwright, Puppeteer, Selenium, etc.) — no SDK required.

  1. Set up environment

    Terminal window
    git clone https://github.com/rayobyte-data/rayobrowse.git
    cd rayobrowse
    cp .env.example .env

    Open .env and set STEALTH_BROWSER_ACCEPT_TERMS=true to accept the license.

  2. Start the container

    Terminal window
    docker compose up -d

    Docker automatically pulls the correct image for your architecture (x86_64 or ARM64).

  3. Verify it’s running

    Terminal window
    curl http://localhost:9222/health
    # Should return: {"success": true, "data": {"status": "healthy", ...}}
  4. Connect and automate

    Point any CDP client at the /connect endpoint — rayobrowse creates a fresh browser on connection and cleans it up when you disconnect.

    # pip install playwright && playwright install
    from playwright.sync_api import sync_playwright
    with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(
    "ws://localhost:9222/connect?headless=false&os=windows"
    )
    page = browser.new_context().new_page()
    page.goto("https://example.com")
    print(page.title())
    browser.close()

View the browser live at http://localhost:6080/vnc.html (noVNC).

  • /connect parameters — customize fingerprints, proxy, headless mode
  • Configuration — environment variables, ports, noVNC
  • SDKs — optional Python and Node.js clients for programmatic control
  • Integrations — Playwright, Puppeteer, Selenium, OpenClaw, Scrapy