Skip to content

Browserless Integration

Browserless provides headless Chrome instances for agent browser automation. It’s included in the default Docker Compose setup.

The Docker Compose configuration starts Browserless with these settings:

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

No additional configuration is needed for basic usage.

VariableDefaultDescription
FRONA_BROWSER_WS_URLws://browserless:3333WebSocket URL for Browserless
FRONA_BROWSER_PROFILES_PATH/profilesWhere browser profiles are stored
FRONA_BROWSER_CONNECTION_TIMEOUT_MS30000Connection timeout
VariableDefaultDescription
MAX_CONCURRENT_SESSIONS10How many browser sessions can run at once
TIMEOUT1800000Session timeout in milliseconds (30 min)

Each concurrent browser session uses 200-500 MB of RAM. Adjust MAX_CONCURRENT_SESSIONS based on your available memory:

Available RAMRecommended sessions
4 GB3-5
8 GB5-10
16 GB+10-20

Browser profiles store cookies, local storage, and session data. They’re isolated per user and per credential, so different users (or different login credentials) get separate browser states.

Profiles persist across sessions, meaning an agent can log into a website once and stay logged in for future interactions.

  • “Cannot connect to browser”: check that Browserless is running and the WebSocket URL is correct
  • High memory usage: reduce MAX_CONCURRENT_SESSIONS
  • Sessions timing out: increase the TIMEOUT value
  • Blocked by websites: some sites detect and block headless browsers. Use request_user_takeover for these cases