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: 1800000Connect it to the engine with:
bash
FRONA_BROWSER_WS_URL=ws://browserless:3333Environment variables
| Variable | Default | Description |
|---|---|---|
MAX_CONCURRENT_SESSIONS | 10 | Maximum simultaneous browser sessions |
TIMEOUT | 1800000 | Session 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