Multi-Host Fleet, Cloud VMs & Self-Hosting
Agent Harbor scales from a single laptop to a multi-host fleet without requiring you to copy SSH keys or API credentials between machines.
Three-Tier Fleet Architecture
- Central Hub (
agent-harbor.comorah server start): Maintains user identity, fleet state, semantic project indexes, encrypted.ahrsession streams, and chat/webhook bridges. - Enlisted Executors (
ah login/ah enroll): Every machine where agents execute—macOS laptops, Linux/Windows workstations, headless build servers, and cloud VMs—runs theahdaemon and maintains an outbound mTLS 1.3 QUIC connection to the hub. - Personal Control Surfaces: Your browser (
agent-harbor.com), Desktop App (ah desktop), terminal (ah tui), Mobile PWA, and chat bots act strictly as control and observation interfaces.
Enlisting Machines into Your Fleet
Interactive Workstation Login (ah login)
On any personal laptop or desktop, authenticate via OAuth 2.0 Device Flow or browser sign-in:
ah loginThis authenticates your CLI and registers the machine as an executor for your account.
Headless Server Enrolment (ah enroll & ah executors mint-token)
For headless Linux, macOS, or Windows servers, mint a single-use enrolment token from any logged-in workstation and install the system service on the target host:
# 1. On your workstation: mint a short-lived enrolment token with capability labels
ah executors mint-token --name build-linux-01 --labels os=linux,arch=x86_64,gpu=rtx4090,ram=128gb
# 2. On the headless server: enroll and install the systemd / launchd / Windows service
sudo ah enroll install --token <enrolment-token> --server https://agent-harbor.comManage your fleet executors at any time:
ah executors list
ah executors status build-linux-01
ah executors drain build-linux-01Dispatching Work Across Executors (--executor & --requires)
Once your machines are enlisted, any ah <agent> or workflow command can target a specific host by name or let the hub schedule the session onto an executor matching hardware/OS requirements:
# Target a specific host by name
ah claude --executor build-linux-01 --branch feat/cuda-kernels "Compile and benchmark the CUDA kernels"
# Route automatically to any online executor matching capability constraints
ah codex --requires os=linux,arch=aarch64,ram>=32gb "Run the ARM64 integration test suite"Auto-Scaled Cloud VM Executors (ah-cloud-*)
When your local machines are busy—or when a campaign requires clean, ephemeral VMs—Agent Harbor can provision and tear down cloud instances on demand using built-in cloud provider adapters:
| Provider | Adapter | Prepared Base Image Family |
|---|---|---|
| AWS EC2 | ah-cloud-aws | Official AMI (agent-harbor-base-x86_64-<version>, agent-harbor-base-arm64-<version>) |
| Google Cloud (GCP) | ah-cloud-gcp | Public Compute Engine Image (agent-harbor-base-*) |
| Microsoft Azure | ah-cloud-azure | Azure Compute Gallery Image (agent-harbor-base-*) |
| Hetzner Cloud | ah-cloud-hetzner | Snapshot / ISO Image (agent-harbor-base-*) |
| DigitalOcean | ah-cloud-do | Custom Droplet Image (agent-harbor-base-*) |
| Oracle Cloud (OCI) | ah-cloud-oci | Custom Compute Image (agent-harbor-base-*) |
| Kubernetes | ah-cloud-k8s | Container / KubeVirt Executor Pod (ghcr.io/agent-harbor/executor:<version>) |
Every prepared agent-harbor-base cloud image ships with a pre-configured Btrfs/ZFS Copy-on-Write
volume, the ah daemon, Docker/Podman, Nix, and all supported AI coding CLIs pre-installed so
cloud executors boot and start executing tasks in seconds.
Self-Hosting the Central Hub (ah server start)
Organisations with strict data-residency or air-gapped requirements can run their own Central Hub using the same ah binary:
# Start a self-hosted hub with embedded SQLite/PostgreSQL and automatic ACME TLS
ah server start \
--listen 0.0.0.0:8443 \
--domain harbor.internal.example.com \
--data-dir /var/lib/agent-harbor-hubConnecting Clients to Multiple Hubs (ah servers)
Your CLI and Desktop App can connect to both agent-harbor.com and one or more self-hosted hubs simultaneously:
# Add and authenticate against a self-hosted hub
ah servers add corp https://harbor.internal.example.com
ah login --server corp
# List configured hubs and switch the default profile
ah servers list
ah servers use corp