fleet-test / README.md
Gaรซlle Lannuzel
remove read-repos from README
5023a2e
|
Raw
History Blame Contribute Delete
1.68 kB
metadata
title: Grabette Fleet
emoji: ๐ŸŒ
colorFrom: yellow
colorTo: indigo
sdk: docker
app_port: 7860
pinned: false
hf_oauth: true
hf_oauth_expiration_minutes: 480

Grabette fleet โ€” operator dashboard + command broker

A Docker HuggingFace Space (runs fine on the free CPU tier). It is the operator dashboard and an in-memory command broker for one user's fleet.

operator (this Space, HF login) โ”€โ”€queue commandโ”€โ”€โ–ถ in-memory broker โ—€โ”€โ”€short-pollโ”€โ”€ device (Pi)
                                โ—€โ”€โ”€device statusโ”€โ”€                   (Bearer hf_token)
device captured data โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถ HF dataset (durable)
  • Operator signs in with HuggingFace (native Space OAuth) and controls only their own devices.
  • Devices connect outbound with Authorization: Bearer <hf_token>; the Space resolves the owner via whoami and groups devices by HF identity.
  • Transport is short-polling โ€” which also keeps the free Space awake (sleep is timed from the last request).

State is in-memory: a restart drops it and devices re-register on their next poll. Durable data (device history, captured datasets) lives in HF datasets, not here.

Duplicate for your own fleet

One Space = one owner = one fleet. Click โ‹ฎ โ†’ Duplicate this Space to run your own โ€” hf_oauth is auto-provisioned, so there's nothing to configure. Then point your devices at it with GRABETTE_RELAY_URL=https://<you>-grabette-fleet.hf.space.

Devices are run with device_app.py from the grabette_connector project.