Browser Configuration

AIO Sandbox runs Chromium inside the container. You can configure language, homepage, user agent, and launch flags through environment variables.

Common Variables

VariablePurpose
HOMEPAGEDefault page opened when the browser starts
BROWSER_LANGBrowser language and Accept-Language
CHROME_UI_LANGChromium UI language
BROWSER_USER_AGENTCustom user agent string
BROWSER_EXTRA_ARGSAdditional Chromium launch arguments
BROWSER_ALLOW_FILE_SELECTION_DIALOGSControls whether web pages can open file picker dialogs

Language

docker run --security-opt seccomp=unconfined --rm -it \
  -p 127.0.0.1:8080:8080 \
  -e BROWSER_LANG=en-US \
  ghcr.io/agent-infra/sandbox:latest

Homepage

-e HOMEPAGE=https://example.com

User Agent

-e BROWSER_USER_AGENT="Mozilla/5.0 ..."

Extra Arguments

Use BROWSER_EXTRA_ARGS for advanced Chromium flags:

-e BROWSER_EXTRA_ARGS="--disable-dev-shm-usage"

Be conservative with launch flags. Removing default security or process flags can make automation less stable.

File Selection Dialog Policy

AIO Sandbox supports BROWSER_ALLOW_FILE_SELECTION_DIALOGS to control whether web pages can open file picker dialogs. Set it to false to prevent upload controls from opening the system file picker:

docker run --security-opt seccomp=unconfined --rm -it \
  -p 127.0.0.1:8080:8080 \
  -e BROWSER_ALLOW_FILE_SELECTION_DIALOGS=false \
  ghcr.io/agent-infra/sandbox:latest

When the variable is unset or empty, the browser keeps its default behavior.

Runtime Configuration

Some browser settings can also be inspected or changed through API endpoints such as:

  • POST /v1/browser/config
  • POST /v1/browser/restart
  • GET /v1/browser/info

Example:

curl -X POST http://127.0.0.1:8080/v1/browser/config \
  -H 'Content-Type: application/json' \
  -d '{"resolution":{"width":1280,"height":720}}'