#11553: feat(docker): add sandbox browser service and documentation
docker
stale
Cluster:
Docker and Deployment Improvements
## 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
#13950: fix(docker): add browser sidecar service and health checks
by n24q02m · 2026-02-11
87.9%
#7133: feat: Automated Docker setup with environment-based configuration
by synetalsolutions · 2026-02-02
82.6%
#12504: fix: allow docker cli container to connect to gateway
by bvanderdrift · 2026-02-09
81.8%
#6698: feat: Add CLI wrapper for Docker integration and update documentation
by barshopen · 2026-02-01
81.7%
#11915: Docs: Docker + reverse proxy deployment notes and pairing pitfalls
by walshd1 · 2026-02-08
81.2%
#9190: feat(docker): Add autonomous container self-restart and runtime pac...
by alexdredmon · 2026-02-05
81.2%
#8050: fix: docker hardening
by christopherbarnett96 · 2026-02-03
81.0%
#15466: Vps setup merge
by tsekula · 2026-02-13
81.0%
#23313: feat(docker): add optional build-arg OPENCLAW_INSTALL_DOCKER_CLI to...
by zhuxuwei88-bot · 2026-02-22
79.9%
#9999: Docker: fix token mismatch and add dev setup workflow
by benclarkeio · 2026-02-06
79.8%