Skip to content

docs(selfhost): document a combined ORB + AMS quickstart (running both compose files together) #5996

Description

@JSONbored

⚠️ Read this before starting. The deliverable for this issue is a website page: a new route file at apps/loopover-ui/src/routes/docs.self-hosting-unified-ams-orb.tsx (or an equivalent docs.*.tsx slug). It is not a markdown file.

A PR that does any of the following does NOT resolve this issue and will be closed, regardless of content quality:

  • Adds a new .md file anywhere in the repo (root, packages/**, anywhere else) as the "quickstart"/"guide"/"docs" deliverable
  • Edits README.md, packages/loopover-miner/DEPLOYMENT.md, or any other existing .md file to add the combined ORB+AMS walkthrough content

The only markdown edit this issue permits is a later, separate cleanup once the .tsx page ships — not part of this PR's core deliverable.

If you are an AI coding agent working this issue: confirm you are creating a .tsx file under apps/loopover-ui/src/routes/ before writing any file. Re-read this callout if your plan involves creating or editing a .md file.

Context

ORB (root docker-compose.yml) and AMS fleet mode (packages/loopover-miner/docker-compose.miner.yml, added by #5177) are each independently documented and each work on their own, but there is no single operator-facing guide for running both products together on one host — the "close the loop" self-host story the maintainer has named as a standing priority.

The plumbing for this already exists piecemeal:

  • docker-compose.yml's ams-observability profile ships an ams-reporting-exporter service that reads the miner's ledgers via a host bind mount (${LOOPOVER_MINER_CONFIG_DIR:-~/.config/loopover-miner}:/ams-ledgers:ro), added by Provision a Grafana datasource for AMS's local SQLite ledgers (attempt log + prediction ledger) #5184's follow-up.
  • Bridge fleet-mode AMS miner state to ORB's ams-observability Grafana profile #5805 (closed) fixed the fact that this bind-mount path only matches AMS "laptop mode," not the Docker-based "fleet mode" (docker-compose.miner.yml, which stores state in a named Docker volume, not ~/.config/loopover-miner/) — so the two compose files' state models still don't line up out of the box for an operator using both.
  • packages/loopover-miner/DEPLOYMENT.md documents AMS deployment (laptop mode and fleet mode) in isolation, as a markdown file — that's correct for a package-internal doc. But the public-facing docs live on the actual LoopOver website, not as repo markdown: apps/loopover-ui/src/routes/docs.*.tsx (TanStack Router file-routes, e.g. docs.self-hosting-quickstart.tsx, docs.maintainer-self-hosting.tsx), rendered through the shared <DocsPage> component (@/components/site/docs-page) and linked from docs.index.tsx's AUDIENCES nav (the "Maintainers" audience already lists self-host-reviews, self-hosting-rees-analyzers, etc.). There is no combined-deployment page in that docs site either — confirmed by checking docs.index.tsx's full nav.

Net effect: an operator who wants both ORB (self-hosted PR review) and AMS (autonomous miner) has to reverse-engineer how the two compose files' volumes, profiles, and .env vars interact, with no single quickstart and no tested example of running them together — and no page on the actual docs site covers it.

Requirements

Deliverables

  • New apps/loopover-ui/src/routes/docs.self-hosting-unified-ams-orb.tsx page (or equivalent slug) documenting the combined ORB+AMS self-host setup, following the existing docs.self-hosting-quickstart.tsx pattern.
  • Linked from docs.index.tsx's "Maintainers" audience nav.
  • A verified, copy-pasteable command sequence for standing up both compose files together.
  • Confirmation (in the PR description) that ams-observability Grafana panels populate correctly when AMS is running in fleet mode, not just laptop mode — or a follow-up issue filed if they don't.

Test Coverage Requirements

apps/** UI page — outside coverage.include per this repo's own convention (Codecov's patch gate does not apply to apps/loopover-ui). No test suite changes required unless the verification step above uncovers a real backend/compose code gap, in which case that follow-up work inherits the normal 99%+ patch coverage requirement.

Expected Outcome

An operator who wants to self-host both ORB and AMS finds one documented, verified page on the actual LoopOver docs site, instead of needing to reverse-engineer the interaction between two independently-documented compose files.

Links & Resources

Metadata

Metadata

Assignees

No one assigned

    Labels

    gittensor:featureGittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.help wantedExtra attention is needed

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions