Aquanode LogoAquanode Docs

Bring your own box

Use a box you already lease with Aquanode's setups, with or without ever giving us an account.

If you already hold a multi-month or multi-year lease on a box - your own datacenter capacity, or a long-term rental somewhere else - you don't have to migrate off it to get setups, snapshots, and version history. Point aq at it directly, in one of two modes.

  • Detached - your box, no control plane, no Aquanode account required. aq talks to it over SSH; capture, restore, versions, and run/logs/ssh/sync all work against storage you provide.
  • Attached - your box, joined to Aquanode's control plane. It shows up in the console next to your rented machines and gets teams, sharing, endpoints, and burst to marketplace capacity when you want more than the box has.

Detached needs nothing from us but the CLI. Attached is one more command on top of it, never a re-capture - the same setup you built detached is the setup you see once you attach.

What works where

Read this before you lease expecting a pool

Partitioning one box into several independent setups - three teammates, three setups, one 8-GPU node - doesn't exist in either mode. An attached or detached box runs one setup at a time. If you need to split a large node today, run separate Aquanode-rented machines instead.

DetachedAttached
Capture, restore, setups, version historyYesYes
run / logs / ssh / syncYesYes
ogre up templatesYesYes
Bring your own storage bucketYesYes
Teams and RBACNoYes
Share / fork a setupNoYes
ConsoleNoYes
Billing (compute or storage on our bucket)No - nothing to billYes, for anything stored in an Aquanode bucket
Endpoints and aq callNoYes
Burst to marketplace providersNoYes
Partition one box into multiple setupsNeverNever

Everything in the "Detached" column needs no account, no credentials, and makes no call to the Aquanode API at all - it's aq and ogre talking to your box directly. Everything that requires the control plane needs the box attached first.

Detached: your box, nothing else

aq host add <alias> --ssh root@1.2.3.4 --identity ~/.ssh/id_ed25519

This installs ogre on the box over SSH and records it as a local host alias - it never touches the Aquanode API. Every box-facing command accepts the same target a rented deployment would:

aq ssh host:<alias>
aq run host:<alias> -- python train.py
aq save host:<alias>

--dry-run on aq host add surveys the box and prints what it would do without installing anything, the same as aq import --dry-run.

By default a detached setup's snapshots go to storage you configure yourself (OGRE_S3_* or --to against any S3-compatible bucket - see Supported storage providers). You can run detached indefinitely this way and never create an Aquanode account.

Attached: joins the console, keeps the lease

aq attach <alias>

Attaching registers the box as a deployment we never provisioned. It shows up in the console and aq ls next to boxes you rented from us, and gets the version history, sharing, and endpoint machinery every setup gets. The lease is still yours - we never take over billing for the hardware, and we never contact the provider you rented it from.

aq attach --dry-run prints the plan - what gets installed, what credentials get minted - without writing anything.

Connectivity is direct, or it's detached

An attached box is reachable exactly one way: a public IP, a port reachable from Aquanode's infrastructure, and TLS pinned to the box's own certificate. aq attach checks this before it records the box as attached - a box that fails the check is never marked reachable, and attaching fails loudly rather than half-succeeding.

If your box can't take an inbound connection - it's behind a NAT you don't control, or firewalled off from the outside - that's not a dead end. Stay in detached mode. It needs zero inbound connectivity by design, and every capture/restore/run/logs/ssh/sync command above works exactly the same either way. You lose the console and the other control-plane features; you don't lose the ability to use the box.

Release, not terminate

Detaching a box back out is aq release <alias>. It revokes the credentials we issued, removes the deployment from the console, and stops nothing else - the box keeps running, and we never contact the provider you lease it from. That's different from what "terminate" means everywhere else in Aquanode: on a rented machine, terminate tears the box down at the provider. On an attached box, release only ever un-registers it from us.

Your other SSH access is untouched

Attaching a box only ever adds a marked block to its authorized_keys - it never overwrites the file. Releasing removes exactly that block. Any keys your team already had on the box before attaching still work, during and after.

Billing on an attached box

We bill nothing for hardware we didn't rent - there's no hourly or per-second charge for an attached box, ever. The only thing that can bill is storage: if a setup's snapshots land in an Aquanode-provided bucket, that storage meters the same as any other setup's. Point the setup at your own bucket instead and nothing bills at all.

Endpoints are fixed capacity

An attached box can serve an endpoint the same way a rented one can, but maxInstances is bounded by what the box actually has - a lease has the GPUs it has, and an endpoint on it can't scale past that. If you want an endpoint to spill onto marketplace providers when the box is saturated, that's an opt-in setting per endpoint, not something that happens automatically.

Which mode should you use

Start detached if you're not sure you want an account yet, or the box can't take an inbound connection - it's the complete version of "use your own hardware with Aquanode's tooling," not a trial of attached mode. Attach when you want the console, sharing, teams, or endpoints on top of it. Moving from detached to attached is one command (aq attach) against a box you already added with aq host add - it never re-captures anything you already have saved.