Eight scenarios in, the same few things keep deciding whether a scenario is worth having, and none of them were obvious beforehand: - Falsify every assertion, not just enough to see red. One control asserted that a component emitted no DEBUG records from a module and passed just as happily with that module set to `debug`, because it emits none on a first run either way. Green for the wrong reason, and only breaking it deliberately showed that. - `ActiveState == active` with `NRestarts == 0` can both hold while a component is completely broken, when it catches its errors and retries rather than exiting. Two of the eight behave that way. - Startup lines are the oldest in the journal, so tailing loses them. Grep, and strip ANSI first. - Parse rendered configuration and assert on structure, so a value under the wrong key cannot pass. - `molecule converge` on a running instance does not restart the container, so a falsification can pass for that reason alone. Also documents that a role's scenario obliges it to join the automerge list, and that prek enforces the two staying in step. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SEH3vxYSQ5SV4N5z61eyGT
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