Install Firefox from Ubuntu's default repository instead of the
Mozilla PPA. This is much faster (3 minutes vs 20+ minutes) and
installs the snap version which works well in containers.
Container now includes:
- XFCE desktop (no power manager popup)
- Firefox browser
- VNC/noVNC access
- Computer-server API
Build time: ~3-4 minutes total
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Firefox installation was causing very slow builds (1200+ seconds)
downloading 72MB on ARM. Removed it since it's not essential for
the basic container functionality.
Firefox can be installed later inside the running container if needed:
docker exec cua-docker-xfce apt-get install -y firefox
Build time reduced from 20+ minutes to under 1 minute.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Uninstall xfce4-power-manager package which causes annoying popup
dialog on container startup. Power management is not needed in
a containerized environment.
This provides a cleaner desktop experience on first launch.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed start-novnc.sh to use a simple sleep instead of checking
VNC availability with netcat. This avoids the need to install
netcat and simplifies the startup sequence.
Since supervisor starts services in priority order (VNC=10, noVNC=20),
a 5-second sleep is sufficient for VNC to be ready.
Also added netcat to Dockerfile for future use if needed.
Container now fully functional:
- VNC server running on port 5901
- noVNC web interface on port 6901
- Computer-server API on port 8000
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Add pyproject.toml version verification script and tests
Adds get_pyproject_version.py script to verify that pyproject.toml
versions match expected versions during git tag releases. Includes
comprehensive pytest test suite with best practices.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Revert "Add pyproject.toml version verification script and tests"
This reverts commit 1d40e692cc.
* Add pyproject.toml version verification script and tests
Adds get_pyproject_version.py script to verify that pyproject.toml
versions match expected versions during git tag releases. Includes
comprehensive pytest test suite with best practices.
Updates the GitHub Actions workflow to use the verification script,
ensuring version consistency before publishing packages. Also removes
the old version-setting step as pyproject.toml is now the source of
truth for versions.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* f
* add test for validation script to gha
---------
Co-authored-by: Your Name <you@example.com>
Co-authored-by: Claude <noreply@anthropic.com>
Adds .bumpversion.cfg files to each Python package (agent, computer,
computer-server, core, mcp-server, pylume, som) to enable automated
version bumping with bump2version tool.
Includes comprehensive Makefile with targets for:
- Installing and managing bump2version
- Bumping package versions (major, minor, patch)
- Managing dependencies and building packages
- Running tests and formatting
- Cleaning build artifacts
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed two critical issues:
1. Firefox syspref.js was being created as directory instead of file
- Changed mkdir to create parent directory only
- Use > for first echo to create file
2. TigerVNC refusing to start without authentication
- Changed SecurityTypes from None to VncAuth
- Added --I-KNOW-THIS-IS-INSECURE flag for development
Container now successfully:
- Builds on ARM64 Mac
- Starts all services (VNC, noVNC, computer-server)
- Accessible on ports 5901 (VNC), 6901 (noVNC), 8000 (API)
Also added Dockerfile.slim as lighter alternative.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
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>