Browserless Integration
Browserless provides headless Chrome instances for agent browser automation. It’s included in the default Docker Compose setup.
Default setup
Section titled “Default 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 minutesNo additional configuration is needed for basic usage.
Configuration
Section titled “Configuration”Frona settings
Section titled “Frona settings”| Variable | Default | Description |
|---|---|---|
FRONA_BROWSER_WS_URL | ws://browserless:3333 | WebSocket URL for Browserless |
FRONA_BROWSER_PROFILES_PATH | /profiles | Where browser profiles are stored |
FRONA_BROWSER_CONNECTION_TIMEOUT_MS | 30000 | Connection timeout |
Browserless settings
Section titled “Browserless settings”| Variable | Default | Description |
|---|---|---|
MAX_CONCURRENT_SESSIONS | 10 | How many browser sessions can run at once |
TIMEOUT | 1800000 | Session timeout in milliseconds (30 min) |
Tuning concurrency
Section titled “Tuning concurrency”Each concurrent browser session uses 200-500 MB of RAM. Adjust MAX_CONCURRENT_SESSIONS based on your available memory:
| Available RAM | Recommended sessions |
|---|---|
| 4 GB | 3-5 |
| 8 GB | 5-10 |
| 16 GB+ | 10-20 |
Browser profiles
Section titled “Browser profiles”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.
Troubleshooting
Section titled “Troubleshooting”- “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
TIMEOUTvalue - Blocked by websites: some sites detect and block headless browsers. Use
request_user_takeoverfor these cases