Test Recipes Docker and SSH Guidelines

SSH Host Access

  • The SSH host is accessible as user "sketch" at host.docker.internal:2222
  • Use the provided SSH key at /sketch_test_key
  • Connection command: ssh -i /sketch_test_key -p 2222 sketch@host.docker.internal

Docker and gvisor Installation

  • The SSH host runs Ubuntu and requires Docker and gvisor to be installed manually
  • Use Ubuntu's native docker.io package instead of Docker's official repository
  • Install with: sudo apt install -y docker.io docker-compose
  • Follow the instructions in README.md for complete installation steps
  • Both runc (default) and runsc (gvisor) runtimes should be available
  • Test with: docker run --runtime=runsc --rm hello-world

Sketch Testing with Docker over SSH

  • Configure SSH config for easy access: Host dockerhost pointing to the VM
  • Use DOCKER_HOST=ssh://dockerhost for remote Docker access
  • For one-shot testing: DOCKER_HOST=ssh://dockerhost ANTHROPIC_API_KEY="key" go run ./cmd/sketch -one-shot -prompt "prompt" -verbose -unsafe -skaband-addr=""
  • The -skaband-addr="" flag bypasses sketch.dev authentication for testing

Container Networking Issues

  • When running Docker inside containers, expect networking and iptables permission issues
  • Use --iptables=false --bridge=none flags for dockerd in constrained environments
  • Consider using host networking or simplified setups for testing

Package Installation

  • Always use longer timeouts for package installations (2-5 minutes)
  • Ubuntu package installs may show debconf warnings in non-interactive environments - this is normal
  • Install SSH client with: apt install -y openssh-client