abiosoft/colima · error

error setting up AI model runner

Error message

error setting up AI model runner: %w

What it means

ProvisionRamalama streams a `set -e` install script into the VM (install ramalama, docker pull quay.io/ramalama/ramalama and ramalama-rag, chown /var/lib/ramalama, create the ~/.local/share/ramalama symlink) via guest.RunInteractive. Because of set -e, the first failing step aborts the script and surfaces here with the shell exit error wrapped in %w.

Solutions

  1. Identify the failing line by running the same script steps manually via colima ssh and watching where it stops
  2. Verify VM connectivity to the script's endpoints: colima ssh -- curl -I https://quay.io
  3. Check docker inside the VM: colima ssh -- docker info; restart colima if the daemon is wedged
  4. Free or grow VM disk (colima stop && colima start --disk) — the two images need several GB
Defensive patterns

Strategy: retry

Prevention

When it happens

Trigger: VM offline so the install or docker pull steps fail; docker daemon unresponsive inside the VM; quay.io unreachable or rate-limiting; /var/lib/ramalama absent so the chown fails; VM disk too small for the two images.

Common situations: First-ever colima model run behind a corporate VPN/proxy that blocks quay.io or the ramalama install host; default VM disk too small for the AI images.

Related errors


AI-assisted analysis of abiosoft/colima@c3a5f9184d (2026-08-15). Data as JSON: /api/errors/4370d4f87f891cbc. Report an issue: GitHub.

Appendix: source

Thrown at model/ramalama.go:177

  pipx upgrade ramalama
else
  pipx install ramalama
fi

# pull ramalama container images
docker pull quay.io/ramalama/ramalama
docker pull quay.io/ramalama/ramalama-rag

# fix ownership of persistent data dir and symlink to expected location
sudo chown -R $(id -u):$(id -g) /var/lib/ramalama
mkdir -p "$HOME/.local/share"
ln -sfn /var/lib/ramalama "$HOME/.local/share/ramalama"
`

	log.Println("installing AI model runner...")

	if err := guest.RunInteractive("sh", "-c", script); err != nil {
		return fmt.Errorf("error setting up AI model runner: %w", err)
	}

	log.Println("AI model runner installed")

	// mark as provisioned
	if err := store.Set(func(s *store.Store) {
		s.RamalamaProvisioned = true
	}); err != nil {
		return fmt.Errorf("error saving provisioning state: %w", err)
	}

	return nil
}

View on GitHub (pinned to c3a5f9184d)