Skip to content

Installing the agent

The quickstart walks through a first install. This page is the reference: what the installer actually does, what it takes as options, and what to do when you need to change something afterwards.

Terminal window
/bin/bash -c "$(curl -fsSL https://get.flotera.com)" -- --token erm_init_...

The token comes from Servers → Add server in the panel. It is single-use and identifies the account the machine joins, so copy a fresh command for each machine.

The installer prints each step as it goes, so a failure tells you which of the six went wrong instead of leaving you guessing.

  1. Asks about privilege. As you, not as root — the answer decides what the service will be allowed to do.
  2. Checks the host. Whether the system, driver and network are usable.
  3. Downloads the agent from get.flotera.com.
  4. Installs helper packagessmartmontools and nvme-cli, if they are missing.
  5. Installs the service. This needs root, so the script re-runs itself under sudo here — one password prompt, at the point where it is actually needed.
  6. Starts the agent and waits for it to report in.

The agent reports GPUs, temperatures, power draw, memory, disks and network. It runs as an unprivileged user and cannot change anything on your GPUs.

Choose this when you want visibility and intend to keep control yourself.

If nobody is at the terminal — Ansible, cloud-init — the installer does not hang waiting for an answer. It takes the smaller of the two, read-only.

Re-run the installer with the level you want:

Terminal window
/bin/bash -c "$(curl -fsSL https://get.flotera.com)" -- --token erm_init_... --privilege full
Option Default What it does
--token TOKEN required one-time registration token from the panel
--privilege LEVEL asked, else readonly full or readonly
--api-url URL https://agent.flotera.com control plane address
--dist-url URL https://get.flotera.com where binaries are fetched from
--mode MODE native native or emulator
--target WHERE host host or container
--from DIR install from a local directory, no download

--target container installs into a GPU instance you rent from someone else (Vast.ai, RunPod). It is supervised by supervisord rather than systemd.

Combining it with --privilege full is refused, loudly rather than quietly downgraded. A rented instance has no rights over the card it borrows, and an installer that silently gave you less than you asked for would misreport what is actually running.

Path What lives there
/usr/lib/flotera-agent the daemon and its helpers
/etc/flotera-agent configuration and credentials
/var/lib/flotera-agent local state and the command journal
/etc/systemd/system/flotera-agent.service the unit that runs the agent
flotera-agent-cli the command you run by hand for diagnostics

The service runs as the user flotera-agent. The daemon is never root.

Alongside the main unit the installer places paths and units for self-update and self-uninstall, so both can be triggered from the panel without opening a shell.

The installer is idempotent. A second run updates the binaries and the configuration and leaves your credentials and the command journal untouched. That makes it the right tool for:

  • changing the privilege level,
  • repairing a half-finished install,
  • moving a machine to a different control-plane address.

It is not the right tool for a routine version bump — the agent updates itself on request from the panel, without SSH.

It does not install the NVIDIA driver. That ends in a reboot, and turning “add monitoring” into “restart the server” is not a decision an installer gets to make. Install the driver yourself, or use the driver update command from the panel when you are ready for the downtime.