Configuration
All configuration is done via environment variables in the .env file next to docker-compose.yml.
Environment variables
Section titled “Environment variables”| Variable | Default | Description |
|---|---|---|
STEALTH_BROWSER_ACCEPT_TERMS | false | Required. Set to true to accept the license and enable the daemon |
STEALTH_BROWSER_API_KEY | (empty) | API key for paid plans. Also used for remote mode endpoint auth |
STEALTH_BROWSER_NOVNC | true | Enable noVNC browser viewer at port 6080 |
STEALTH_BROWSER_DAEMON_MODE | local | local or remote. See remote mode |
STEALTH_BROWSER_PUBLIC_URL | (empty) | Base URL for CDP endpoints in remote mode. Auto-detects public IP if not set |
RAYOBROWSE_PORT | 9222 | Host port mapped to the container. Set to 80 for remote mode |
Changes require a container restart:
docker compose up -dViewing the browser (noVNC)
Section titled “Viewing the browser (noVNC)”With STEALTH_BROWSER_NOVNC=true (the default), open http://localhost:6080 to watch browser sessions in real time.
Each browser gets its own noVNC port in the range 6080–6119, allowing you to view multiple sessions simultaneously.
SDK environment variables
Section titled “SDK environment variables”The Python SDK also reads these variables:
| Variable | Used by | Description |
|---|---|---|
RAYOBYTE_ENDPOINT | create_browser() | Daemon URL (default: http://localhost:9222) |
RAYOBYTE_API_KEY | create_browser() | API key for authentication |
STEALTH_BROWSER_API_KEY | create_browser() | Fallback API key (if RAYOBYTE_API_KEY not set) |
Docker resources
Section titled “Docker resources”The rayobrowse container requires:
- Shared memory: 2GB (
shm_size: 2gin docker-compose.yml) - RAM: ~300MB per browser instance
- Security option:
seccomp=unconfined(for Chrome sandbox)