-
-
Notifications
You must be signed in to change notification settings - Fork 646
Add QEMU Windows 11 template with CUA computer-server support #551
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…ation - Install Python 3.12 via Chocolatey for consistent environment - Create isolated virtual environment at %USERPROFILE%\.cua-server\venv - Install cua-computer-server package in venv to prevent conflicts - Create Windows scheduled task with VBScript hidden launcher - Use LogonType S4U for background execution without interactive session - Configure auto-restart loop for service resilience - Add firewall rule for port 5000 Replaces global pip installation approach that was failing.
- Create Caddy start script with auto-restart loop - Use VBScript wrapper to launch hidden (window mode 0) - Configure Windows scheduled task with LogonType S4U - Run reverse proxy from port 9222 to port 1337 in background - Enable auto-restart on failure for resilience Ensures Caddy runs completely hidden without visible windows.
Changes to setup.ps1: - Replace global pip CUA server install with setup-cua-server.ps1 call - Add setup-caddy-proxy.ps1 call for proxy configuration - Start WindowsArena_OnLogon task asynchronously (non-blocking) - Remove blocking Start-ScheduledTask that prevented setup completion Changes to on-logon.ps1: - Replace direct service execution with scheduled task triggers - Start Caddy-Reverse-Proxy task instead of direct caddy command - Start CUA-Computer-Server task instead of direct python command - Both services now run hidden via their respective scheduled tasks Fixes issues: - Services no longer run in visible windows - Setup script no longer blocks indefinitely - Both services run in background as proper scheduled tasks
- Create windows.boot marker file if missing (fixes boot hang) - Add /storage directory existence check before file creation - Detect initial setup mode via /custom.iso presence - Skip tail -f during setup to allow container exit - Keep container alive only during normal runtime Fixes issues: - Container now exits properly after golden image creation - Boot from golden image no longer hangs indefinitely - Automatic distinction between setup and runtime modes
Renamed libs/qemu to libs/qemu-docker and organized Windows implementation into windows/ subdirectory.
|
on the subsequent runs, there should be no need to mount again the .iso: Subsequent runs - uses golden image (2-5 min)docker run -it --rm |
Yes, It is documented correctly in the README - I will update the PR comment. |
| @@ -0,0 +1,104 @@ | |||
| # Setup Caddy Reverse Proxy on Windows 11 | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Caddy proxy not needed
|
|
||
| # Create scheduled task to run at logon | ||
| try { | ||
| $TaskName = 'Caddy-Reverse-Proxy' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not needed
|
|
||
| # Ensure Chocolatey and Python 3.12 are present | ||
| try { | ||
| $ChocoExe = Resolve-ChocoPath |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are we re-installing python? Pheraps you can instead download python through the tool-config.json mechanism.
| "https://github.com/git-for-windows/git/releases/download/v2.37.1.windows.1/Git-2.37.1-64-bit.exe" | ||
| ] | ||
| }, | ||
| "7zip": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Delete unused
| @@ -0,0 +1,467 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
| <unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"> | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not needed
Cua.Windows.Test.mp4
Summary
This PR adds a production-ready QEMU-based Windows 11 container to the
libs/qemudirectory, enabling CUA agents to interact with Windows desktop environments through the CUA computer-server.Recent Updates (Nov 9, 2025)
Fixed critical issues from initial implementation:
windows.bootmarker file)What's New
dev(shared folder) andazure(OEM folder) modeslocalhost:5000, noVNC atlocalhost:8006Technical Details
Base Image: Uses
windowsarena/windows-local:latestinstead ofwindowsarena/winarena-base:latestto avoid unnecessary ML bloat:Architecture:
Files Added
Usage Example
Breaking Changes
None - this is a new addition to the libs directory.