Skip to content

Onboarding Hosts

Paco5687 edited this page Jul 13, 2026 · 6 revisions

Onboarding Hosts

Adding a machine is one copy-paste. The hub serves the agent binary itself, so there's nothing to download by hand and no tokens to copy around.

The easy way — "Add host"

  1. In the dashboard, click + Add host (top bar).
  2. Copy the one-liner for the machine's OS.
  3. Run it on that machine.

The commands come pre-filled with your hub's address and enroll token:

Linux — server / headless

curl -fsSL "http://<hub-ip>:8765/install.sh?token=<enroll>" | sudo sh

Linux — desktop (adds screen sharing; no sudo — runs in your session)

curl -fsSL "http://<hub-ip>:8765/install.sh?token=<enroll>&desktop=1" | sh

Windows — run in a normal PowerShell (no admin needed), signed in as the user who sits at the console:

iwr -useb "http://<hub-ip>:8765/install.ps1?token=<enroll>" | iex

On Windows this installs a small system-tray app: a status icon (● connected to the hub / ○ disconnected) that starts automatically at every logon via a per-user registry Run key — no admin, no scheduled task. On Linux the script installs a systemd service. Either way the host appears on the dashboard within a few seconds.

Headless vs. desktop

Headless / server Desktop
Install sudo sh (system service) &desktop=1, no sudo (user session)
Metrics, terminal, exec, scripts
Screen sharing (Remote) ❌ (no display)

A headless host shows up as monitor-only — the Remote button is disabled because there's no graphical session to stream.

Keeping hosts up to date

Agents auto-update to match the hub — on Windows via the tray, on Linux via the systemd service (it downloads the new binary and exits; systemd relaunches it). Each update is validated first: the downloaded binary must be the right size, a real executable, and report the hub's exact version when run, or it's rejected and the current agent keeps running. So to roll out an upgrade, just update the hub — the fleet follows within a few hours (or force one host now from the Windows tray → Update to latest).

Manual install

If you'd rather not pipe a script, grab the agent from a release (or /download/agent) and run it directly:

autormm-agent --server http://<hub-ip>:8765 --token <enroll> --tags web,prod

Handy flags: --id (stable name, defaults to hostname), --tags, --allow-exec=false (disable remote command/terminal on this host), --insecure (skip TLS verify for self-signed certs).

Turning a host off

Stop and remove the agent service on the host:

sudo systemctl disable --now autormm-agent      # headless
systemctl --user disable --now autormm-agent    # desktop

It will show as offline on the dashboard.

Clone this wiki locally