OpenBoatmobile CLI — interactive walkthrough for deploying AI agents to cloud servers
- 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 |
||
|---|---|---|
| .github/workflows | ||
| internal | ||
| scripts | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| deploy.yaml.example | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| Makefile | ||
| README.md | ||
| VERSION | ||
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:
- Agent framework selection (Hermes or OpenClaw)
- Cloud provider (Hetzner or DigitalOcean)
- Server configuration
- Inference provider (Venice, OpenRouter, OpenAI, Anthropic, or Custom)
- 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
- Store
deploy.yamlin your repository (use template with placeholders) - Use a secrets manager for sensitive values
- In CI:
envsubst < deploy.yaml.template > deploy.yaml ./obm deploy --config deploy.yaml
License
MIT