Three things that would not have scaled to 70 roles: - The Python and Ansible dependency pins were about to be copied into every role. They now live once in molecule-shared/, which scenarios reference relatively, so they cannot drift apart. - The helper container images used for probing were hardcoded inline. They are pinned once in molecule-shared/vars.yml, carry `# renovate:` annotations, and a custom manager in .github/renovate.json keeps them current - verified with a local Renovate dry run, which offers curl 8.11.1 -> 8.21.0 and python 3.13 -> 3.14-alpine. Seventy invisible hardcodes is the blindness class we have been removing elsewhere. - Running a scenario meant knowing the venv and cd incantation. `just molecule <role>` does it, and with no argument lists the roles that have a scenario. Molecule is deliberately not wired into prek: a run takes minutes, pulls images and needs Docker, which is fine on request and not fine per commit. docs/molecule-testing.md covers how to run and write these, including the four things a role here needs that a standalone role does not. AGENTS.md points at it rather than carrying the detail. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Table of Contents
⬇️ Installation guides
There are two installation guides available for beginners and advanced users.
-
⚡ Quick start (for beginners): this is recommended for those who do not have an existing Matrix server and want to start quickly with "opinionated defaults".
-
Full installation guide (for advanced users): if you need to import an existing Matrix server's data into the new server or want to learn more while setting up the server, follow this guide.
🛠️ Configuration options
You can check useful documentation for configuring components here: Configuring the playbook
-
Administration — services that help you in administrating and monitoring your Matrix installation
-
Authentication and user-related — extend and modify how users are authenticated on your homeserver
-
Bots — bots provide various additional functionality to your installation
-
Bridges — bridges can be used to connect your Matrix installation with third-party communication networks
-
Clients — web clients for Matrix that you can host on your own domains
-
Core service adjustments — backbone of your Matrix system
-
File Storage — use alternative file storage to the default
media_storefolder
- Other specialized services — various services that don't fit any other categories
👨🔧 Maintenance
If your server and services experience issues, feel free to come to our support room and ask for help.
Other documentation pages
- ℹ️ FAQ — various Frequently Asked Questions about Matrix, with a focus on this Ansible playbook