Fleet overview
Loading…
Enroll a node
Generate a one-time token, then configure the node to phone home.
Outstanding tokens
Add a Loxone system
Monitor a Miniserver directly (not an AI node) via Loxone Cloud DNS — just its serial. Status & version auto-update; no credentials needed.
Artifacts
Every artifact is ed25519-signed on upload. Nodes refuse anything that doesn't verify.
What an artifact is
A versioned, signed file the fleet can push to nodes — a fine-tuned model, an app bundle, a firmware image, or a config. On upload the mainframe fingerprints it (SHA-256) and signs it with the fleet's private ed25519 key. This is just the library; nothing is sent to a node until you queue a Job.
What you need
- The file to distribute.
- A Type (model · app · firmware · config) and a Version tag (e.g.
2026.07.03). - Optionally a Format hint so the node's executor knows how to apply it — e.g.
ollama-modelfile,gguf,app-bundle. - Each node must have the fleet's public signing key pinned (provisioned at install). Without it a node refuses every artifact.
How to use it
- Choose a Type, then fill in Version, Notes (changelog), and a Format hint.
- Pick the File and click Upload & sign. It appears in the table below.
- For a model, click Make production to mark it as the fleet's current model (PROD).
- Go to Jobs to push it to a node, a ring, or the whole fleet.
Safety
Before applying anything, a node re-checks the SHA-256 checksum, verifies the ed25519 signature against its pinned key, and enforces a 1 GB size cap. Anything that doesn't verify is refused.
Jobs
Queue a signed artifact to a node, a ring, or the whole fleet. Nodes pull & apply on next check-in.
What a job is
A job pushes one signed artifact — or a command — to a target. Nodes never accept inbound connections: each node pulls its queued jobs on its next check-in (every ~15 s) and applies them locally, then reports the result back.
What you need
- At least one enrolled node (see Enroll a node).
- For model / app / firmware / config jobs: an uploaded, signed artifact (see Artifacts).
- For a command job: no artifact — just an action in Params.
How to use it
- Pick a Type. For everything except
command, choose the Artifact to send. - Choose a Target: a specific node, a ring (a group tag set when a node is enrolled — e.g.
default), or the entire fleet. - For a
command, add Params JSON — e.g.{"action":"ping"}. - Click Dispatch job, then watch its status in the list below.
Job status
queued waiting to be pulled · dispatched handed to the node on check-in · applied verified & ran · failed node refused / couldn't apply · cancelled · rolledback
A node only applies a type it has an executor for (and only if the signature verifies). The built-in command executor handles action: "ping" / "noop"; model/app/firmware executors run on nodes provisioned for them.
Cross-home insights
Aggregated from the latest check-in from every node.
Audit log
Sign-ins, enrollments, dispatches, and every administrative action.
Settings
Mainframe options.
Users
Operator accounts & what each one can access.