Learn 101 — Admin dashboard and Studio

Outcome: you know what /admin/ shows, how Studio binds Fleet, and where screenshots come from.

Updated

Audience: operators and Lenses users. Time: ~15 minutes plus optional Playwright run. Verify: you can open /admin/ on your Fleet base URL and correlate a job row with GET /v1/jobs/{id}.

/admin/ is the operator console for this Fleet host: host metrics, jobs, container swimlanes, Fleet Apps, capacity guardians, and cooperative upgrade actions. It polls GET /v1/admin/snapshot and related admin APIs (never runs root shell commands from the browser).

Main tabs

Tab What you see
Overview Release identity, jobs-by-status chart, host processes, active workers, recent jobs table
Services Managed compose services (forge_llm, Market Studio gateways, …) with start/stop where applicable
Containers Container-type swimlanes from GET /v1/container-types
Jobs Deeper job list and filters
Apps Installed FAEP apps and catalog install actions
Capacity Space Guardian (disk tiers, orphan volumes) and Memory Guardian (RAM pressure, idle parking, policy)

Use Settings… in the scope bar (offcanvas) for connection, machine role, edge checklist, mesh capacity, and generated command recipes.

Settings offcanvas

  1. Connection — peer id, URL, bearer; Save connection (API only); probe and view remote dashboard.
  2. Machine — laptop vs public server; edge hostname and Caddy port when publishing.
  3. Edge (public server only) — Cloudflare tunnel + unified Caddy checklist; Verify public health via POST /v1/operator/verify-public-health.
  4. Capacity — mesh headroom table (GET /v1/mesh/capacity) for CPU, RAM, and GPU/VRAM planning estimates.
  5. Commands — generated recipes tagged web UI / user / root; copy shell blocks only when needed.

Manage peers… opens the advanced peer editor (same PUT /v1/remote-peers/* API). When editing, leave bearer empty to keep the stored token.

Full operator path: Connect to remote Fleet.

Cooperative upgrade

Update Fleet on /admin/ queues POST /v1/admin/upgrade (apt signal or cooperative git dev path by install channel). POST /v1/admin/git-self-update is deprecated (returns 400). Production hosts should use the apt channel — see Upgrade & remote operations and Migrate to apt.

Forge Lenses (Studio): Settings → Fleet binds LENSES_FLEET_URL + LENSES_FLEET_TOKEN. Docs Health runs configurable session_step jobs via Fleet’s Docker host; Test Fleet calls POST /v1/admin/test-fleet from the workspace server (never directly from arbitrary browser origins).

Forge LCDL (governed LLM tasks/operators) stays a separate concern—Fleet runs containers; forge-lcdl orchestrates deterministic LLM work. See Forge LCDL ↔ Fleet.

Forge LLM helpers

See Operate 301 — Troubleshooting for operator-visible failure modes (502 via Caddy, template build regressions, etc.).

Screenshots workflow

/admin/ marketing-quality PNGs regenerate through Playwright (details in [docs/assets/README.md](../assets/README.md)).

cd forge-fleet
npm ci
npx playwright test e2e/docs-screenshots.spec.ts

The harness targets 127.0.0.1:19876 by default—not the usual 18765 / 18766** loop.

Forge Fleet admin overview (representative)

Phrases automation uses

These collide with Cursor workspace conventions—prefer explicit wording in CI notes:

Phrase Usually means
“Update fleet” ./scripts/update-fleet.sh (semver bump → push → install paths). With --remote-upgrade --publish-apt-cdn, remote hosts upgrade via POST /v1/admin/upgrade.
“Update service” Local ~/forge-fleet pull plus ./update-user.sh / systemctl --user restart forge-fleet.service—not the semver release script unless the operator asked for that.
“Update certificator” Certificator refresh plus remote POST /v1/admin/upgrade—see workspace Forge rules ordering.

Do not store bearer tokens inside Markdown copies—prefer env files (forge-fleet.env, systemd drops) referenced from README.md and systemd/environment.example.

Topic Doc
Caddy/TLS façade Caddy systemd · Unified Granite
Admin tile design Maintainers · Admin KPI design
Release operations Upgrade & remote self-update
Capacity guardians Space Guardian · Memory Guardian