| Property | Value |
|---|---|
| VMID | 105 |
| Hostname | crc-ai-ide-01 |
| IP Address | 192.168.1.61 |
| Hypervisor | pve2 |
| OS | Ubuntu 22.04.5 LTS |
| RAM | 48 GB |
| Disk | 194 GB (6% used) |
| Gateway | 192.168.1.1 |
| DNS | 127.0.0.53 (systemd-resolved) |
OpenHands is an open-source AI coding assistant that runs as a Docker container on this VM.
| Setting | Value |
|---|---|
| Container Name | openhands-app |
| Image | ghcr.io/openhands/openhands:latest (build v1.6.0) |
| Port | 3000 (mapped to host 0.0.0.0:3000) |
| Restart Policy | always |
| Docker Version | 28.2.2 |
sudo docker run -d \\
--name openhands-app \\
--restart always \\
-p 3000:3000 \\
-v /var/run/docker.sock:/var/run/docker.sock \\
-v /home/aiops/.openhands-state:/.openhands-state \\
-v /home/aiops/workspace:/opt/workspace_base \\
--add-host host.docker.internal:host-gateway \\
-e SANDBOX_USE_HOST_NETWORK=true \\
-e SANDBOX_RUNTIME_BINDING_ADDRESS=0.0.0.0 \\
-e SANDBOX_USER_ID=0 \\
-e WORKSPACE_MOUNT_PATH=/home/aiops/workspace \\
ghcr.io/openhands/openhands:latest
| Variable | Value | Description |
|---|---|---|
| SANDBOX_USE_HOST_NETWORK | true | Sandbox containers share host network (fixes bridge connectivity issues) |
| SANDBOX_RUNTIME_BINDING_ADDRESS | 0.0.0.0 | Bind sandbox to all interfaces |
| SANDBOX_USER_ID | 0 | Run sandbox as root |
| WORKSPACE_MOUNT_PATH | /home/aiops/workspace | Host workspace directory |
| Host Path | Container Path | Purpose |
|---|---|---|
| /var/run/docker.sock | /var/run/docker.sock | Docker-in-Docker for sandbox containers |
| /home/aiops/.openhands-state | /.openhands-state | Persistent state (conversations, settings) |
| /home/aiops/workspace | /opt/workspace_base | Shared workspace directory |
OpenHands spawns agent-server containers (sandbox) for each conversation. These containers:
ghcr.io/openhands/agent-server imageSANDBOX_USE_HOST_NETWORK=true so they share the host networkError: "Sandbox entered error state"
host.docker.internalSANDBOX_USE_HOST_NETWORK=true is set. Recreate the container with the docker run command above.sudo docker logs openhands-app 2>&1 | grep -i errorSandbox containers pile up
sudo docker ps -a | grep oh-agent-server | awk '{print $1}' | xargs sudo docker rm -fThe CyberLab Portal is deployed on Vercel and embeds the OpenHands IDE at the /ide route via iframe. The portal URL is set via the NEXT_PUBLIC_OPENHANDS_URL environment variable in Vercel.
| User | Purpose |
|---|---|
| crcadmin | Default cloud-init user |
| devin-adm | Devin automation SSH access (key-based auth) |
| aiops | AI Ops service account (OpenHands workspace owner) |
| crc-adm | CRC admin account |
# From pve1:
ssh devin-adm@192.168.1.61
# From external (via pve1 jump):
ssh -J devin-adm@108.31.169.90:2225 devin-adm@192.168.1.61