← Back to PRs

#11553: feat(docker): add sandbox browser service and documentation

by dangphdh open 2026-02-08 00:24 View on GitHub →
docker stale
## Summary Add openclaw-browser service to docker-compose.yml with Chromium browser support for Docker deployments, along with comprehensive documentation for setup and usage. ## Changes - **docker-compose.yml**: Add `openclaw-browser` service with: - Chromium browser with CDP (Chrome DevTools Protocol) access on port 9222 - VNC server for remote viewing on port 5900 - noVNC web interface on port 6080 for browser-based debugging - Configurable headless/noVNC modes via environment variables - **DOCKER_BROWSER_SETUP.md**: Complete setup guide covering: - Prerequisites and installation steps - Environment variable configuration - OpenClaw configuration for sandbox and remote browser modes - Access points (CDP, VNC, noVNC) - Usage examples and troubleshooting - Security considerations and advanced configuration - **DOCKER_BROWSER_QUICKSTART.md**: Quick reference guide with: - TL;DR setup commands - Common CLI commands - Configuration examples - Troubleshooting tips ## Use Case This enables users running OpenClaw in Docker to provide browser automation capabilities to agents, with support for: - Isolated browser sessions in sandboxed agent environments - Visual debugging via noVNC web interface - CDP-based control for programmatic browser automation - Both headless and headful modes ## Testing The setup has been tested locally with: - ✅ Browser container builds successfully from `Dockerfile.sandbox-browser` - ✅ Browser service starts and exposes CDP endpoint - ✅ OpenClaw gateway can connect to and control the browser - ✅ Successfully opened URLs, took snapshots, and captured screenshots ## Documentation Links to relevant documentation: - Docker setup: https://docs.openclaw.ai/install/docker - Browser tool: https://docs.openclaw.ai/tools/browser - Sandboxing: https://docs.openclaw.ai/gateway/sandboxing ## Checklist - [x] Code follows the repository's coding style - [x] Documentation updated - [x] Tested locally with Docker - [x] No breaking changes to existing functionality - [x] Follows commit message conventions Co-Authored-By: Claude <noreply@anthropic.com> <!-- greptile_comment --> <h2>Greptile Overview</h2> <h3>Greptile Summary</h3> This PR adds an `openclaw-browser` service to `docker-compose.yml` intended to provide a Chromium instance with CDP (9222) plus VNC/noVNC debugging ports, and introduces two new markdown guides (`DOCKER_BROWSER_SETUP.md`, `DOCKER_BROWSER_QUICKSTART.md`) describing how to build and use that browser container alongside the OpenClaw gateway/CLI. Key issues to address before merge: - `docker-compose.yml` is currently invalid YAML due to a trailing comma in the `openclaw-gateway.command` array, which will break `docker compose` parsing. - The compose file also exposes an additional gateway port (18792) without any explanation or configurability. - The docs include at least one incorrect `docker compose` command (`down openclaw-browser`) and the quickstart uses an inconsistent browser profile name for the verify step. <h3>Confidence Score: 2/5</h3> - This PR should not be merged until the docker-compose.yml parse error and doc command issues are fixed. - Score is reduced because `docker-compose.yml` is currently invalid YAML (trailing comma in the gateway command array) which will break all Docker deployments using it, and the docs include commands that won’t work as written (service-specific `down`, inconsistent browser profile name). Once corrected, the changes are mostly additive (new service + docs). - docker-compose.yml, DOCKER_BROWSER_SETUP.md, DOCKER_BROWSER_QUICKSTART.md <!-- greptile_other_comments_section --> <sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub> <!-- /greptile_comment -->

Most Similar PRs