OpenBoatmobile CLI — interactive walkthrough for deploying AI agents to cloud servers
Find a file
MermaidMan 21f2bd3a9d feat: add curl|sh one-liner install script
- Add scripts/install.sh for easy installation via curl
- Auto-detects OS (linux, darwin, windows) and arch (amd64, arm64)
- Supports version pinning: sh -s -- v1.2.3
- Installs to /usr/local/bin or ~/.local/bin as fallback
- Updates release workflow to include install.sh in release assets
- Adds README.md with installation documentation
2026-05-22 15:43:19 +00:00
.github/workflows feat: add curl|sh one-liner install script 2026-05-22 15:43:19 +00:00
internal feat: add cross-compile and release pipeline 2026-05-22 15:38:55 +00:00
scripts feat: add curl|sh one-liner install script 2026-05-22 15:43:19 +00:00
.gitignore feat: add cross-compile and release pipeline 2026-05-22 15:38:55 +00:00
CHANGELOG.md feat: add cross-compile and release pipeline 2026-05-22 15:38:55 +00:00
CONTRIBUTING.md feat: add cross-compile and release pipeline 2026-05-22 15:38:55 +00:00
deploy.yaml.example feat: add cross-compile and release pipeline 2026-05-22 15:38:55 +00:00
Dockerfile feat: add cross-compile and release pipeline 2026-05-22 15:38:55 +00:00
go.mod feat: add cross-compile and release pipeline 2026-05-22 15:38:55 +00:00
go.sum feat: add cross-compile and release pipeline 2026-05-22 15:38:55 +00:00
Makefile feat: add cross-compile and release pipeline 2026-05-22 15:38:55 +00:00
README.md feat: add curl|sh one-liner install script 2026-05-22 15:43:19 +00:00
VERSION feat: add cross-compile and release pipeline 2026-05-22 15:38:55 +00:00

obm - OpenBoatMobile Infrastructure CLI

A CLI tool for deploying AI agents on cloud infrastructure with Terraform.

Installation

Quick Install (Linux/macOS)

curl -fsSL https://raw.githubusercontent.com/openboatmobile/obm/main/scripts/install.sh | sh

Install a specific version:

curl -fsSL https://raw.githubusercontent.com/openboatmobile/obm/main/scripts/install.sh | sh -s -- v1.2.3

Manual Install

Download the latest release for your platform from GitHub Releases:

Platform Architecture Download
Linux x86_64 (amd64) obm-linux-amd64.tar.gz
Linux ARM64 obm-linux-arm64.tar.gz
macOS Apple Silicon (arm64) obm-darwin-arm64.tar.gz
Windows x86_64 (amd64) obm-windows-amd64.zip
Windows ARM64 obm-windows-arm64.zip

Linux/macOS:

# Download and extract
curl -sL https://github.com/openboatmobile/obm/releases/latest/download/obm-linux-amd64.tar.gz | tar xz
# Or for ARM64:
# curl -sL https://github.com/openboatmobile/obm/releases/latest/download/obm-linux-arm64.tar.gz | tar xz

chmod +x obm
sudo mv obm /usr/local/bin/

Windows (PowerShell):

# Download and extract
Invoke-WebRequest -Uri https://github.com/openboatmobile/obm/releases/latest/download/obm-windows-amd64.zip -OutFile obm.zip
Expand-Archive obm.zip
# Add to PATH as needed

From Source

go build -o obm ./cmd/obm

Usage

Interactive Mode (Default)

Run the interactive wizard to configure your deployment:

./obm deploy

The wizard will guide you through:

  1. Agent framework selection (Hermes or OpenClaw)
  2. Cloud provider (Hetzner or DigitalOcean)
  3. Server configuration
  4. Inference provider (Venice, OpenRouter, OpenAI, Anthropic, or Custom)
  5. Optional: Tailscale VPN, Discord integration

Non-Interactive Mode (CI/CD)

For automated deployments, use a YAML configuration file:

./obm deploy --config deploy.yaml

See deploy.yaml.example for a complete configuration reference.

Commands

Command Description
deploy Deploy an AI agent (interactive or --config for CI/CD)
validate Check configuration and API credentials
status Show current infrastructure state
destroy Tear down provisioned infrastructure
version Print version
help Show help message

Configuration File Format

The YAML configuration file supports the following structure:

# Required: Agent framework
framework: hermes  # or openclaw

# Required: Cloud provider
provider:
  name: hetzner  # or digitalocean
  token: "your-api-token"
  ssh:
    names: ["my-ssh-key"]  # Hetzner
    # fingerprints: ["aa:bb:cc:dd"]  # DigitalOcean

# Server configuration
server:
  name: "my-agent"
  location: "ash"  # Hetzner: ash, fsn1, nbg1, hel1
  type: "cpx21"

# Required: Inference provider
inference:
  provider: venice  # venice, openrouter, openai, anthropic, custom
  api_key: "your-api-key"
  primary_model: "zai-org-glm-5"

# Optional: Tailscale VPN
tailscale:
  enabled: true
  auth_key: "tskey-auth-..."
  tailnet: "mytailnet"

# Optional: Discord integration
discord:
  enabled: true
  bot_token: ""
  server_id: ""

Example Workflows

Local Development

# Interactive setup
./obm deploy

# Validate your .env file
./obm validate --env-file .env

CI/CD Pipeline

# Create deploy.yaml from your secrets manager
# Then run non-interactive deployment
./obm deploy --config deploy.yaml

GitOps Setup

  1. Store deploy.yaml in your repository (use template with placeholders)
  2. Use a secrets manager for sensitive values
  3. In CI:
    envsubst < deploy.yaml.template > deploy.yaml
    ./obm deploy --config deploy.yaml
    

License

MIT