Spaces:
Runtime error
Runtime error
function Create-VM { | |
if (-not (docker images windows-local -q)) { | |
Write-Host "Image not found locally. Building..." | |
docker build -t windows-local .. | |
} else { | |
Write-Host "Image found locally. Skipping build." | |
} | |
docker compose -f ../compose.yml up -d | |
while ($true) { | |
try { | |
$response = Invoke-WebRequest -Uri "http://localhost:5000/probe" -Method GET -UseBasicParsing | |
if ($response.StatusCode -eq 200) { | |
break | |
} | |
} catch { | |
Write-Host "Waiting for a response from the computer control server. When first building the VM storage folder this can take a while..." | |
Start-Sleep -Seconds 5 | |
} | |
} | |
Write-Host "VM + server is up and running!" | |
} | |
function Start-LocalVM { | |
Write-Host "Starting VM..." | |
docker compose -f ../compose.yml start | |
while ($true) { | |
try { | |
$response = Invoke-WebRequest -Uri "http://localhost:5000/probe" -Method GET -UseBasicParsing | |
if ($response.StatusCode -eq 200) { | |
break | |
} | |
} catch { | |
Write-Host "Waiting for a response from the computer control server" | |
Start-Sleep -Seconds 5 | |
} | |
} | |
Write-Host "VM started" | |
} | |
function Stop-LocalVM { | |
Write-Host "Stopping VM..." | |
docker compose -f ../compose.yml stop | |
Write-Host "VM stopped" | |
} | |
function Remove-VM { | |
Write-Host "Removing VM and associated containers..." | |
docker compose -f ../compose.yml down | |
Write-Host "VM removed" | |
} | |
if (-not $args[0]) { | |
Write-Host "Usage: $($MyInvocation.MyCommand.Name) [create|start|stop|delete]" | |
exit 1 | |
} | |
switch ($args[0]) { | |
"create" { Create-VM } | |
"start" { Start-LocalVM } | |
"stop" { Stop-LocalVM } | |
"delete" { Remove-VM } | |
default { | |
Write-Host "Invalid option: $($args[0])" | |
Write-Host "Usage: $($MyInvocation.MyCommand.Name) [create|start|stop|delete]" | |
exit 1 | |
} | |
} |