Skip to content

docs(self-hosting): Standalone default, Distributed, Helm chart, telemetry (ships with the next release) - #877

Merged
nik13 merged 14 commits into
mainfrom
docs/self-hosting-standalone
Sep 30, 2026
Merged

nik13 merged 14 commits into
mainfrom
docs/self-hosting-standalone

Conversation

@nik13

@nik13 nik13 commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Rewrites the Self-Hosting section for the self-hosting overhaul in future-agi/future-agi. After that release, the default ./bin/install gives Standalone: 3 containers, 2 vCPUs and 4 GB of Docker memory. Distributed (./bin/install --distributed) is the former multi-container stack, and Helm is a signed OCI chart for Kubernetes.

Merge this at release time, not before. Until then, these pages would tell v1.41.x users to run commands and use images they don't have yet.

Code PRs this documents, all open:

What changed

  • Overview (/docs/self-hosting):
    • a "Choose a setup" table comparing the three setups, and what each one runs;
    • a warning that Standalone data cannot move to Distributed or Helm;
    • how installs made with v1.41.x or earlier stay on Distributed;
    • a "What leaves your network" table.
  • Requirements and Installation:
    • sizing and install steps per setup, with the installer flags;
    • verifying the stack, everyday operations and switching setups;
    • one link to the repo's docs/development.md for ./bin/dev.
    • The Compose cookbook now follows the Standalone default.
  • New: Helm (Kubernetes) (/docs/self-hosting/helm):
    • supported configurations;
    • verifying the signature and attestation;
    • evaluation and production installs;
    • the first account, upgrades, backups and troubleshooting;
    • the support bundle.
  • New: Telemetry (/docs/self-hosting/configuration/telemetry):
    • exactly what is sent and how to turn it off;
    • every other outbound connection;
    • a restricted-networks checklist.
    • The overview's old "nothing leaves your network" wording is corrected.
  • New: Configuration reference (/docs/self-hosting/configuration/reference): every environment variable, per setup (Standalone, Distributed, Helm). It replaces the docs/configuration.md that feat(deploy): light Standalone install by default, Distributed at scale, Helm chart and hot-reload dev future-agi#3097 no longer ships. The page is generated: python3 scripts/docs_site.py sync <this checkout>, run in the code repo, renders it from deploy/env-reference.toml, whose completeness that repo's CI checks. Do not edit it by hand.
  • New: Images (/docs/self-hosting/images): published images, tags, variants, architectures and how to verify an image. Its tables are generated from deploy/images.toml and the size budgets.
  • New: Develop with hot reload (/docs/self-hosting/development): ./bin/dev for contributors. It replaces the repo's docs/development.md.
  • Telemetry now also carries everything from the repo's docs/telemetry.md: the payload fields, examples, settings and browser hosts. Its tables are generated from wire_reference.toml.
  • Configuration:
    • The environment page keeps the commonly set variables and links the generated reference page.
    • The Profiles, System and First-run setup pages (title only; the URL stays /launch-mode) are updated.
    • "Users & sign-in" is back in the nav.
  • Production:
    • the checklist, security and TLS, backups, monitoring and upgrades, per setup;
    • the advice to set FRONTEND_PORT=127.0.0.1:3000 is removed, because the installer takes a port number only and that value breaks it.
  • Troubleshooting and Support are updated for the new containers and commands.
  • Agent Command Center:
    • a self-hosted install already runs the gateway;
    • local model servers on private addresses need AGENTCC_ALLOW_PRIVATE_PROVIDER_URLS=true;
    • keys re-sync every 60 s on self-hosted installs, where the old text said "every 15 seconds", which the gateway doesn't do;
    • buffered request logs are delivered on shutdown.
  • Removed: the orphan pages self-hosting/docker-compose and self-hosting/configuration, with redirects.

Links into the code repo use blob/main, which matches the released version once this merges.

How it was checked

  • Against the code: every command, flag, port, environment variable, default, image name and size figure was checked against the branches of the five PRs. Each page had an accuracy review and a style review, and every finding was fixed or answered.
  • Consistency across pages:
    • no leftover "8 GB+" default or 21-service default;
    • no futureagi/platform;
    • container counts match docker compose config.
  • Build:
    • npm run build: 1178 pages built, including the two new pages and the redirect pages;
    • npm run audit-links: 0 broken nav links, 0 broken content links.
    • No em dashes, per the style guide.
  • npm ci fails on dev too, because package-lock.json is out of sync with package.json. That is unrelated to this PR; I built with npm install --no-save.

Before merging

  • From the release tag of future-agi/future-agi, run python3 scripts/docs_site.py sync <this checkout> --ref vX.Y.Z --check. The generated reference, telemetry and images blocks must match that release's data. Without --check it rewrites them.
  • The release that ships #3097, #3098, #3104, #3105 and #3132 is published. If #3104 or #3132 misses it, remove the parts that describe them: the private-provider-URL and key-sync text, and the shutdown log flush.
  • helm pull oci://ghcr.io/future-agi/charts/futureagi --version X.Y.Z works without signing in, which means the GHCR package is public.
  • futureagi/standalone:vX.Y.Z is on Docker Hub.
  • docs(self-hosting): add Colima on macOS and make the Mac pages runtime-aware #869 (Colima) merged first, then this branch rebased. Two small conflicts are expected: the Apple Silicon note in installation.mdx and the Docker VM sizing tip in requirements.mdx. Keep this branch's text and add the Colima link.
  • docs(self-hosting): add Colima on macOS and make the Mac pages runtime-aware #869's colima.mdx updated for the new stack. It still describes a 13-service stack with 8 GiB of memory, an amd64-only backend image, and development mode through docker-compose.dev.yml and DOCKER_SOCKET (now ./bin/dev). After that, link it from troubleshooting's "Docker cannot see the checkout" entry.

Follow-ups (not in this PR)

  • Several cookbook pages say to point FI_BASE_URL at "your self-hosted deployment" without saying which address:

    • cookbook/quickstart/instrument-and-verify*.mdx;
    • cookbook/trustworthy-rag.mdx;
    • simulation/guides/run-chat-simulation.mdx.

    Tracing uses the collector on port 4318, and the API is on port 8000.

  • command-center/concepts/configuration.mdx says self-hosted deployments watch the config file. The gateway re-reads it on POST /-/reload instead. This predates the overhaul.

AI use: Claude Code (Claude Opus 5.5) wrote the pages and checked them against the code, with separate accuracy and style reviewers per page. A maintainer needs to review it.

🤖 Generated with Claude Code

nik13 and others added 8 commits September 28, 2026 22:49
…rview; nav and redirects

Standalone (3 containers) becomes the default setup; the overview compares
the three setups, says what each runs and what leaves the network, and
warns that Standalone data cannot move to Distributed or Helm. The orphan
docker-compose and configuration pages are removed with redirects, and the
nav gains Helm (Kubernetes), Telemetry and Users & sign-in.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sizing per setup (Standalone 2 vCPUs / 4 GB, Distributed 12-16 GB),
./bin/install and its flags, verifying the stack, everyday operations,
switching setups, and ./bin/dev for contributors. The Compose cookbook
follows the Standalone default.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
New page for oci://ghcr.io/future-agi/charts/futureagi: supported
configurations, verifying the signature and attestation, evaluation and
production installs, the first account, upgrades, backups,
troubleshooting and the support bundle.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… page

The environment page keeps the commonly set variables and links the
repository's full reference; the new telemetry page says exactly what is
sent, how to turn it off, and every other outbound connection.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Profiles per setup (ml and sandbox on Standalone), the /setup first-run
screen, and account creation, recovery and sign-in lockout.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…rades per setup

Includes upgrading installs made with v1.41.x or earlier, which stay on
Distributed, and drops advice to set FRONTEND_PORT to an address, which the
installer does not support.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…key sync

A self-hosted install already runs the gateway. Local model servers on a
private address need AGENTCC_ALLOW_PRIVATE_PROVIDER_URLS=true; keys
re-sync every 60 seconds on a self-hosted install; buffered request logs
are delivered on shutdown.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
nik13 and others added 6 commits September 29, 2026 09:31
v1.42.0 shipped with the old layout too, so "v1.41.x or earlier" was
already stale. Older installs are now "installs made before Standalone
became the default", defined once, with how to tell, on the upgrades
page. Each rewritten claim was checked against v1.41.3 and v1.42.0.
The sequencer volume and attribute-suggestion notes now match the
releases that actually had them.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…rm repo

Add /docs/self-hosting/configuration/reference: every environment
variable of a self-hosted install with its default in each setup, the
setups that read it and what breaks when it is wrong. The page is
rendered by scripts/docs_site.py from deploy/env-reference.toml in
future-agi/future-agi, which replaces the repository's
docs/configuration.md; edit the data file, not this page.

Point the Environment variables and Helm pages at it instead of the
GitHub copy of docs/configuration.md.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Add /docs/self-hosting/images (every image with what it runs, ports,
user, health check, architectures and size budget; backend variants,
tags, labels, verifying an image, health checks, users, stopping, base
images, build arguments, building them yourself) and
/docs/self-hosting/development (./bin/dev: what reloads, commands,
migrations, databases, tests, --distributed, troubleshooting), moved
from the repository's docs/images.md and docs/development.md.

The Images at a glance and Labels tables sit between generated markers
that scripts/docs_site.py in future-agi/future-agi fills from
deploy/images.toml and scripts/image_size_budget.json.

Link the new pages from the nav, the overview, Installation,
Requirements and Upgrades & rollback.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… the telemetry page

Merge the repository's docs/telemetry.md into the telemetry page: an At
a glance table of every outbound connection, the registration and
heartbeat payloads with each field, how it is sent (endpoints, size cap,
signature header, private buffer), a Settings table, the third-party
services in detail with AWS and GCP Marketplace, and The browser UI with
each host it loads, what an air-gapped install loses without it and the
build-time analytics keys.

The payload and settings tables sit between generated markers that
scripts/docs_site.py in future-agi/future-agi fills from
wire_reference.toml and deploy/env-reference.toml. No link to
docs/telemetry.md remains.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…form repo data

Run `python3 scripts/docs_site.py sync` from future-agi/future-agi over
the generated blocks: the registration and heartbeat payloads from
wire_reference.toml, the telemetry settings from
deploy/env-reference.toml, and Images at a glance and Labels from
deploy/images.toml and scripts/image_size_budget.json. Drop the
hand-written sentences the blocks now carry themselves.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…elease files

Re-run `python3 scripts/docs_site.py sync` from future-agi/future-agi's
feat/helm-publish over the configuration reference: the Helm values behind
the first admin, license, SSO clients, read replica, direct Postgres,
gateway Redis, APP_VERSION, SIM_COLLECTOR_OTLP_ENDPOINT, allowed hosts and
CORS, and a new "Proxy, CA bundle and air-gap" section.

By hand, from the Helm branch's docs/images.md and docs/telemetry.md: the
Helm page's Verify the chart names the release files (package, checksums,
images list, Hauler manifest) and image.digests; the images page's
signature step points at it; the telemetry page says global.airgap's opt-out
registration fails harmlessly and is retried.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@nik13
nik13 marked this pull request as ready for review September 30, 2026 07:52
@nik13
nik13 merged commit b61510c into main Sep 30, 2026
1 check passed
@nik13
nik13 deleted the docs/self-hosting-standalone branch September 30, 2026 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant