Skip to content

Configuration

All configuration is done via environment variables in the .env file next to docker-compose.yml.

VariableDefaultDescription
STEALTH_BROWSER_ACCEPT_TERMSfalseRequired. 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_NOVNCtrueEnable noVNC browser viewer at port 6080
STEALTH_BROWSER_DAEMON_MODElocallocal 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_PORT9222Host port mapped to the container. Set to 80 for remote mode

Changes require a container restart:

Terminal window
docker compose up -d

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.

The Python SDK also reads these variables:

VariableUsed byDescription
RAYOBYTE_ENDPOINTcreate_browser()Daemon URL (default: http://localhost:9222)
RAYOBYTE_API_KEYcreate_browser()API key for authentication
STEALTH_BROWSER_API_KEYcreate_browser()Fallback API key (if RAYOBYTE_API_KEY not set)

The rayobrowse container requires:

  • Shared memory: 2GB (shm_size: 2g in docker-compose.yml)
  • RAM: ~300MB per browser instance
  • Security option: seccomp=unconfined (for Chrome sandbox)