Skip to main content
Any machine that runs workloads directly (a bare VM, a workstation, a remote GPU box) is a compute in Expanse. One daemon runs on the host and reports host, GPU, and process telemetry. Before starting the daemon, the control plane and data plane must be running and reachable from the host. Token exchange needs the data plane; endpoint discovery and the first heartbeat need both planes. A DNS, TCP, or generic HTTP response is not enough. The compute stays pending until its first authenticated heartbeat. The console’s Add compute panel and expanse compute register show the short-lived install token plus your deployment’s control-plane and data-plane URLs, which this guide’s commands take. The token is prompted for during install; it never goes on a command line.

Prefer to delegate? Copy this into an AI assistant with shell access on the host; it fetches this guide itself, so it always follows the current steps.

1. Register the compute

In the console, open Compute → Add compute, pick VM / generic, and generate an install token.

2. Exchange the token on the host

On the host, using the control-plane and data-plane URLs from the Add compute panel. This installs the CLI if the host does not have it, then exchanges the token and writes the daemon config:
This writes the compute’s long-lived credential to ~/.expanse/config.json (mode 0600). If the install fails before the config is written, rerun it with the same token; retry stops working at the compute’s first heartbeat or when the token expires.

3. Run the daemon

Download the daemon binary and start it:
For unattended hosts, run it under your service manager (a systemd unit with Restart=on-failure is the usual shape). The daemon reads ~/.expanse/config.json by default; set EXPANSE_DAEMON_CONFIG to point a system service at a different path.

4. Verify

The compute becomes active after its first authenticated heartbeat.

Replace a lost compute credential

The compute keeps its identity when its credential is lost. On the compute’s console page choose Re-issue install token, then:
  • Host intact, config lost or invalid: on the host, exchange the new token over the old config and restart the daemon:
    Then restart expanse-daemon so it loads the new credential.
  • Host rebuilt: nothing of Expanse is on it yet, so repeat steps 2 and 3 with the re-issued token; no --reinstall is needed on a host with no config.
The previous credential stops working at the exchange. The token can be exchanged once.