Skip to content

Chrome Browser in OpenSandbox

This example runs Chrome Browser with OpenSandbox runtime.

The image starts a VNC server (Xtigervnc :1) and launches Chromium with remote debugging enabled on port 9222.

Getting Chrome image

You can build the image from source or pull it from Docker Hub.

Build from source

shell
docker build -t opensandbox/chrome .

Pull an existing image

shell
docker pull opensandbox/chrome:latest

# use acr from china
# docker pull sandbox-registry.cn-zhangjiakou.cr.aliyuncs.com/opensandbox/chrome:latest

Start OpenSandbox server

Start the OpenSandbox server and tail stdout from the terminal:

shell
uv pip install opensandbox-server
opensandbox-server init-config ~/.sandbox.toml --example docker
opensandbox-server

Create and access a Chrome sandbox

Build/pull the image above, then create a sandbox with image opensandbox/chrome:latest and an entrypoint that keeps it alive (e.g., ["/bin/sh", "-c", "sleep infinity"]), or reuse tail -f /dev/null. Make sure the runtime exposes ports 5901 and 9222 for VNC/DevTools.

shell
uv pip install opensandbox
uv run python examples/chrome/main.py

Then fetch endpoints for 5901/9222 to connect with a VNC client or DevTools, like:

text
execd daemon running with endpoint='127.0.0.1:48379/proxy/44772'
VNC running with endpoint='127.0.0.1:48379/proxy/5901'
DevTools running with endpoint='127.0.0.1:48379/proxy/9222'/json
text
[ {
   "description": "",
   "devtoolsFrontendUrl": "https://chrome-devtools-frontend.appspot.com/serve_rev/@71a0dbd6672e2ccb6d1008376cbb7acd315cb8d6/inspector.html?ws=127.0.0.1:52302/devtools/page/2215AF60AC345E4BA6D822389CFC743B",
   "faviconUrl": "https://www.gstatic.com/images/branding/searchlogo/ico/favicon.ico",
   "id": "2215AF60AC345E4BA6D822389CFC743B",
   "title": "Google",
   "type": "page",
   "url": "https://www.google.com.hk/",
   "webSocketDebuggerUrl": "ws://127.0.0.1:52302/devtools/page/2215AF60AC345E4BA6D822389CFC743B"
} ]

Or you can use it by MCP client, more information please refer to: chrome-devtools-mcp.

Reference


This page is sourced from: examples/chrome/README.md