Runner Provision Fails
Symptoms
- Runner status stuck in
provisioningstate - Dashboard shows “Failed to start runner” error
- Container never appears in Docker
Likely Causes
- Docker daemon unreachable — Docker socket not mounted or daemon stopped
- Image pull failure — Container registry unreachable or image tag missing
- Resource limits — Host out of memory, disk, or CPU
- Port conflicts — VNC port 5900 or gateway port 18789 already bound
- Environment variable errors — Invalid or missing required env vars
Triage Steps
1. Check Docker daemon
docker info
docker ps -a | grep openclaw2. Check image availability
docker images | grep curate-me
docker pull ghcr.io/curate-me-ai/openclaw-base:latest3. Check resource usage
docker stats --no-stream
df -h # Disk space
free -m # Memory4. Check runner logs
./scripts/errors by-source gateway | grep "runner_provision"
docker logs <container_id> 2>&1 | tail -50Resolution
Docker daemon restart
sudo systemctl restart dockerClear stuck runners
# Mark stuck provisioning runners as failed
curl -X POST https://api.curate-me.ai/gateway/admin/runners/cleanup \
-H "Authorization: Bearer $JWT"Resource cleanup
docker system prune -f # Remove unused containers/imagesEscalation
If the Docker daemon is consistently failing, check host kernel logs (dmesg) for OOM kills.