Repository navigation
docs: install guides for people and for AI agents - #155
Merged
Merged
Conversation
argiad
enabled auto-merge (rebase)
November 8, 2026 09:28
MatrixMedia is starting to be promoted, and the only install docs were the installer reference and developer setups that read like install guides. - docs/install.md: step-by-step server install for admins who will not use AI. Covers requirements (x86-64 only, 4 GB, public IPv4), firewall ports (the three UDP ranges the installer checks by name), DNS (subdomain advice when the apex hosts a website), reading the installer before running it, signing in to the Operator Console, payments, mmctl, what backups contain, upgrading to a new release (backup, then re-run with MM_DEPLOY_REF), re-run caveats, removal, and a troubleshooting table of the installer's real messages. - docs/install-agent.md: the same install for an AI agent. Rules (what to ask the human first, which files never to print, no sign-in with the owner password), read-only checks with expected output, a nohup + pipefail run that survives timeouts and dropped SSH, exact success criteria, which WARN lines are normal, a failure table keyed by log lines, and the hand-over. - llms.txt points agents at the agent guide. - README: an "Install on your own server" section; "Quick Start" becomes "Develop locally"; three dead links removed from the docs table. - deploy/README.md: links the walkthrough; sign-in goes to the Operator Console; --vendor-subdomain marked not available yet; one complete mmctl table (upgrade re-pulls the installed release; update skips the backup); backup and published-port descriptions corrected. - docs/deployment.md and docs/quickstart.md point server installs at docs/install.md. Every path in the guides was run on fresh Hetzner cx23 / Ubuntu 24.04 servers: --no-domain, --domain with real Let's Encrypt certificates (federation tester passed), --demo, and doctor/check/backup/upgrade/purge. An independent review checked every claim against the installer code. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
argiad
force-pushed
the
docs/install-guides
branch
from
November 8, 2026 10:30
efc789e to
72ff637
Compare
extractions/setup-just resolves the version by asking the GitHub releases API, and on 2026-11-08 that call answered 504 on six runs in a row for one PR (attempts and fresh pushes alike), failing the required "clone → stack up" check before anything in the PR was tested. taiki-e/install-action ships its own version manifest and downloads the release asset directly. Ubuntu's packaged just (1.21) is too old for the justfile's [doc] attributes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
argiad
added a commit
that referenced
this pull request
Nov 8, 2026
The mm-runners jobs share one host Postgres, and every run reset the same
"mm_test". When two runs overlapped, the second one's dropdb either
failed ("database is being accessed by other users", PR #157 twice) or
dropped the database under the first one's live tests, which then panicked
in test_support ("connecting to Postgres failed", development's push run
after #155). Each run attempt now uses mm_test_<run_id>_<attempt> and drops
it at the end, cancelled runs included.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
argiad
added a commit
that referenced
this pull request
Nov 8, 2026
The mm-runners jobs share one host Postgres, and every run reset the same
"mm_test". When two runs overlapped, the second one's dropdb either
failed ("database is being accessed by other users", PR #157 twice) or
dropped the database under the first one's live tests, which then panicked
in test_support ("connecting to Postgres failed", development's push run
after #155). Each run attempt now uses mm_test_<run_id>_<attempt> and drops
it at the end, cancelled runs included.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this adds
Install documentation for promoting MatrixMedia, in two forms:
mmctl, backups, upgrades, removal, troubleshooting.llms.txtat the root points agents to the agent guide.It also fixes the docs a newcomer would land on first:
deploy/README.md: links the walkthrough, sends sign-in to the Operator Console, marks--vendor-subdomainas not available yet, and replaces the two partialmmctllists with one complete table.docs/deployment.mdanddocs/quickstart.md: now point server installs at the guide.The paths
docs/install.mdanddocs/install-agent.mdare linked from the landing docs (another branch), so please keep them.How it was checked
cx23servers (2 vCPU, 4 GB, Ubuntu 24.04) using the public one-liner pinned to fix(deploy): make the self-host install work on a clean server #154:--no-domain: about 4 min--domainwith real Let's Encrypt certificates: 2m36s. All URLs return 200 with strict TLS, and matrix.org's federation tester reportsFederationOK: true.--demommctl doctor,check,backup,upgradeanduninstall --purgeufwexample didn't match the exact ranges the installer checksmmctl upgradere-pulls the installed release rather than moving to a new onebash -n.Merge order
Merge after #154. The guides describe its behavior: the Operator Console line, payments off without Stripe, and the
mmctlfixes. The one-liner readsmain, so newcomers get all of it only after a release (v0.10.1) is cut.Installer gaps the review found (not changed here)
These are documented with workarounds in the guides. They're follow-up work for the installer:
mmctl upgradenever moves to a new release, because onlyinstall.shrefreshes/opt/mm/versions.env. A release upgrade is "back up, then re-run the installer", and the re-run itself takes no backup.could not capture admin tokenafter the owner changes the generated password (the stored bootstrap password is reused).MM_DOMAINis only set afterpreflight.examples/selfhost/README.mdstill calls a one-command installer "a separately-maintained, supported offering", whiledeploy/is public. That's a positioning call for the owner.🤖 Generated with Claude Code