spawn/binarylane
A c8d7ea23e6
refactor: simplify BinaryLane wait loop and fix log_warn in 7 cloud polling loops (#538)
Replace 25-line custom _binarylane_wait_for_active with 4-line
generic_wait_for_instance call, matching the pattern used by 7 other
clouds (DigitalOcean, Vultr, Linode, etc).

Change log_warn to log_step for status/progress messages in polling
loops across 7 cloud providers (aws-lightsail, exoscale, fly, kamatera,
latitude, ovh, scaleway). These are normal status updates, not warnings.

Agent: complexity-hunter

Co-authored-by: A <6723574+louisgv@users.noreply.github.com>
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
2026-02-11 14:59:51 -08:00
..
lib refactor: simplify BinaryLane wait loop and fix log_warn in 7 cloud polling loops (#538) 2026-02-11 14:59:51 -08:00
aider.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
amazonq.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
claude.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
cline.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
codex.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
continue.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
gemini.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
goose.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
gptme.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
interpreter.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
kilocode.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
nanoclaw.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
openclaw.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
opencode.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
plandex.sh fix: use log_step (cyan) for progress messages instead of log_warn (yellow) (#534) 2026-02-11 14:37:43 -08:00
README.md Fix BinaryLane manifest: mark 10 existing scripts as implemented (#43) 2026-02-07 22:54:25 -08:00

BinaryLane Cloud Scripts

Deploy AI coding agents on BinaryLane's Australian cloud infrastructure.

Overview

BinaryLane is an Australian cloud provider offering simple VPS hosting with hourly billing. These scripts provision servers via the BinaryLane REST API and deploy various AI agents with OpenRouter integration.

Prerequisites

Usage

Interactive Mode

# Deploy Claude Code
bash binarylane/claude.sh

# Deploy Goose
bash binarylane/goose.sh

# Deploy Plandex
bash binarylane/plandex.sh

Non-Interactive Mode

Set environment variables for fully automated deployment:

export BINARYLANE_API_TOKEN="your-api-token"
export OPENROUTER_API_KEY="sk-or-v1-..."
export BINARYLANE_SERVER_NAME="my-agent-server"

# Optional: customize server configuration
export BINARYLANE_SIZE="std-2vcpu"      # default: std-1vcpu
export BINARYLANE_REGION="syd"           # default: syd (Sydney)
export BINARYLANE_IMAGE="ubuntu-24.04"   # default: ubuntu-24.04

bash binarylane/claude.sh

Available Scripts

Implemented

  • claude.sh - Claude Code (Anthropic's CLI agent)
  • goose.sh - Goose (Block's open-source agent)
  • plandex.sh - Plandex (AI coding agent for complex tasks)
  • openclaw.sh - OpenClaw (OpenRouter's agent framework)
  • nanoclaw.sh - NanoClaw (WhatsApp-based agent)
  • aider.sh - Aider (AI pair programming)
  • codex.sh - Codex CLI (OpenAI's agent)
  • interpreter.sh - Open Interpreter
  • gemini.sh - Gemini CLI
  • amazonq.sh - Amazon Q CLI
  • cline.sh - Cline
  • gptme.sh - gptme
  • opencode.sh - OpenCode

Configuration

Server Sizes

  • std-1vcpu - 1 vCPU, 2 GB RAM (default)
  • std-2vcpu - 2 vCPU, 4 GB RAM
  • std-4vcpu - 4 vCPU, 8 GB RAM

See full pricing: https://www.binarylane.com.au/pricing

Regions

  • syd - Sydney, Australia (default)
  • per - Perth, Australia
  • bne - Brisbane, Australia
  • mel - Melbourne, Australia

Billing

BinaryLane uses hourly billing prorated from monthly rates:

  • Charged from server creation to deletion
  • Example: AUD 50/month = ~AUD 0.0694/hour
  • Cancel anytime via destroy_server <SERVER_ID>

API Documentation

Full API reference: https://api.binarylane.com.au/reference/

Troubleshooting

Authentication fails

Server creation fails

SSH connection fails

  • Wait 30-60s for cloud-init to complete
  • Check firewall rules at BinaryLane dashboard
  • Verify SSH key is registered: curl -H "Authorization: Bearer $BINARYLANE_API_TOKEN" https://api.binarylane.com.au/v2/account/keys

Advanced Usage

Using the Common Library

#!/bin/bash
source binarylane/lib/common.sh

ensure_binarylane_token
ensure_ssh_key
create_server "my-custom-server"
run_server "$BINARYLANE_SERVER_IP" "echo hello"
destroy_server "$BINARYLANE_SERVER_ID"

List Running Servers

source binarylane/lib/common.sh
ensure_binarylane_token
list_servers

Security

  • API tokens stored in ~/.config/spawn/binarylane.json (chmod 600)
  • SSH keys auto-generated at ~/.ssh/id_ed25519
  • Temporary config files securely wiped on exit
  • OpenRouter API keys injected via environment variables

Remote Execution

These scripts support bash <(curl -fsSL URL) execution:

# Deploy Claude Code directly from GitHub
bash <(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/binarylane/claude.sh)