agents-last-exam/ale-images-qcow2
ALE QEMU runner image agentslastexam/ale-qemu is the container-side runtime used by the ALE qemu provider. It packages QEMU, KVM integration, NAT networking, noVNC, and process supervision. The Ubuntu or Windows guest is supplied separately as /storage/data.qcow2. Docker is the container runtime. Dockur is the upstream QEMU-in-Docker project whose startup and networking stack this image inherits. ALE adds a stable runner contract around that upstream image. The image is based on… See the full description on the dataset page: https://huggingface.co/datasets/agents-last-exam/ale-images-qcow2.
ALE QEMU runner image
agentslastexam/ale-qemu is the container-side runtime used by the ALE qemu provider. It packages QEMU, KVM integration, NAT networking, noVNC, and process supervision. The Ubuntu or Windows guest is supplied separately as /storage/data.qcow2.
Docker is the container runtime. Dockur is the upstream QEMU-in-Docker project whose startup and networking stack this image inherits. ALE adds a stable runner contract around that upstream image.
The image is based on a digest-pinned trycua/cua-qemu-windows release. ALE replaces its inherited entrypoint because that script can remain alive forever after QEMU exits. The ALE entrypoint validates the mounted disk and executes the upstream VM process under tini, so Docker observes VM failures and signals correctly.
Build
From the repository root:
docker build \
-f ale_run/environments/images/ale_qemu/Dockerfile \
-t agentslastexam/ale-qemu:0.2.0 \
-t agentslastexam/ale-qemu:latest \
.Publish
docker login
docker push agentslastexam/ale-qemu:0.2.0
docker push agentslastexam/ale-qemu:latestRuntime contract
/storage/data.qcow2must be a non-empty pre-baked guest disk.- The disk and every backing file must be readable when the container starts.
/dev/kvmmust be passed through.NET_ADMINis required for the guest bridge and NAT rules./sharedmay be bind-mounted to expose a per-run host exchange directory through Dockur's guest-only Samba share.- Container ports
5000and8006expose CUA and noVNC. VM_NET_IPdefaults to172.30.0.2.- Docker health becomes healthy when the guest CUA
/statusendpoint responds. - For Linux guests, the provider aligns the guest NIC MTU with the host's default IPv4 route before returning the sandbox.
The runner never downloads guest disks. Docker bind mounts are fixed when a container is created, so the host-side provider resolves and caches the qcow2, creates the per-run overlay, and only then invokes docker run.
Guest disk dataset
The pre-baked guest disks are published in the Hugging Face dataset agents-last-exam/ale-images-qcow2.
Configure the provider with the logical qcow2 path:
snapshots:
cpu-free:
qemu:
disk_source: hf://agents-last-exam/ale-images-qcow2/ale-win10-v1.1.qcow2
cpu-free-ubuntu:
qemu:
disk_source: hf://agents-last-exam/ale-images-qcow2/ale-ubuntu22-v1.1.qcow2Retain the immutable hf_revision from configs/environments/qemu.yaml in both snapshot blocks. See releases/v1.1/assets.json for checksums and GCS mirrors.
The provider automatically discovers the multipart manifest, downloads and verifies each part, reconstructs the selected qcow2 in the host cache, verifies the complete disk SHA-256, and removes the temporary part files.
ALE v1.1 distribution
Use this revision with the ALE v1.1 task code and environment profiles. The selected benchmark contains 152 tasks. Non-selected variants are retained only in the all-data distribution.
Selected logical data manifest SHA256: d4ab0921c4c8fb91252b68512fc387a943558b0a890806eab806a74359a3e214.
Use the logical names ale-ubuntu22-v1.1.qcow2 and ale-win10-v1.1.qcow2 with their multipart manifests and an exact qemu.hf_revision. Parts are at most 4,000,000,000 bytes; the host provider verifies each part and the complete disk while reconstructing. No second full set of parts is needed.
- linux: 88,758,157,312 bytes, SHA256
ade826005507cd35fd54b53f3653f60c6ef4462a29956f0f1f6014b5b0c76913. - windows: 78,399,209,472 bytes, SHA256
c179c61fbac37ae5af163489e118e3cf164d0ef2a495a757a3943776b0b5c2ff.
Legacy filenames remain unchanged. The separate ale-qemu:0.2.0 runner contains no guest task data.
