Create a lightweight alternative to Kasm-based container with minimal
dependencies. Features vanilla Ubuntu 22.04 with XFCE, TigerVNC, noVNC,
and computer-server pre-installed.
Key features:
- Vanilla XFCE desktop environment
- TigerVNC server (port 5901)
- noVNC web interface (port 6901)
- computer-server WebSocket API (port 8000)
- Python 3.11 with automation tools
- Firefox with telemetry disabled
- Supervisord for process management
- Persistent storage support
Benefits over Kasm:
- Reduced dependencies (no KasmWeb infrastructure)
- Smaller image size
- Full control over all components
- Easy customization
- Independent maintenance
Includes:
- Comprehensive README and quickstart guide
- Makefile for common operations
- docker-compose.yml for orchestration
- Example Python scripts
- Startup scripts for all services
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This pull request introduces a new GitHub Actions workflow for building and publishing the CUA Ubuntu Docker container. The workflow automates image building and publishing for both pull requests and pushes to the main branch, supporting multiple platforms and leveraging Docker Hub for image distribution.
Docker workflow automation:
Added .github/workflows/docker-publish-kasm.yml to automate building and publishing the cua-ubuntu Docker image for PRs and the main branch, including support for multi-platform builds (linux/amd64, linux/arm64).
Integrated Docker Buildx for multi-platform builds and caching to optimize build times and resource usage.
Docker Hub integration:
Configured workflow to authenticate with Docker Hub using a secret token and push images to the trycua organization.
Automatically tags images based on the event type (commit SHA for PRs, latest for main branch) and provides image digest output for traceability.
- `asyncio` import and `asyncio.run()`
- `async with Computer()` context manager
- Full `Computer()` initialization with all required parameters
- Proper message format as a list of dictionaries
- Complete `async for` loop with item iteration
Remove sensitive API key from documentation
Removed sensitive API key from agent-loops.mdx.