Skip to content

Browserless provides headless Chrome instances for the browser automation tools. It runs as a separate container in your Docker Compose setup.

Setup

Browserless is included in the default Docker Compose configuration:

yaml
browserless:
  image: ghcr.io/browserless/chromium
  ports:
    - "3333:3333"
  environment:
    MAX_CONCURRENT_SESSIONS: 10
    TIMEOUT: 1800000

Connect it to the engine with:

bash
FRONA_BROWSER_WS_URL=ws://browserless:3333

Environment variables

VariableDefaultDescription
MAX_CONCURRENT_SESSIONS10Maximum simultaneous browser sessions
TIMEOUT1800000Session timeout in milliseconds (30 min)

Resource planning

Each browser session uses roughly 200-500 MB of RAM, depending on the complexity of the pages being loaded. Plan your MAX_CONCURRENT_SESSIONS accordingly:

  • A server with 8 GB RAM can comfortably run 5-10 sessions
  • For heavy browser automation workloads, allocate more RAM

Security

Browserless should not be exposed to the public internet. Keep it on an internal network accessible only to the Frona engine. The Docker Compose default configuration only exposes the port to the host for debugging purposes.

In production, remove the port mapping:

yaml
browserless:
  image: ghcr.io/browserless/chromium
  # No ports: section. Only accessible to other containers
  environment:
    MAX_CONCURRENT_SESSIONS: 10
    TIMEOUT: 1800000