Bridges
MindRoom uses mautrix bridges to connect external messaging platforms to Matrix. Bridges run as appservices alongside a Matrix homeserver such as Synapse or Tuwunel, create ghost users for external contacts, and relay messages bidirectionally.
Available Bridges
| Bridge | Platform | Mode | Status |
|---|---|---|---|
| Telegram | Telegram | Puppet (login as yourself) | Available |
| Slack | Slack | - | Planned |
| IMAP/SMTP | - | Planned |
How Bridges Work
Each bridge registers as a Matrix Application Service with the homeserver. The bridge:
- Creates ghost users on Matrix for external contacts
- Creates Matrix rooms for external chats
- Relays messages between the external platform and Matrix in real time
In puppet mode, you log into your real account on the external platform. Your messages appear as coming from you on both sides, not from a bot.
Bridge Manager
Bridge deployments are managed from local/instances/deploy/.
Run ./bridge.py --help there for the exact supported commands.
The normal workflow is:
- Add the bridge with
./bridge.py add <type> --instance <name>. - Generate its appservice registration with
./bridge.py register <type> --instance <name>. - For Synapse, manually expose the generated registration file to the Synapse container, set the matching
app_service_config_filespath, and restart Synapse; for Tuwunel, complete the printed admin-room steps or run./bridge.py register-with-matrix <type> --instance <name>. - Start it with
./bridge.py start <type> --instance <name>. - Inspect it with
./bridge.py statusand./bridge.py logs <type> --instance <name>.
Generated bridge data lives beneath the selected instance data directory.
The manager currently updates Synapse's homeserver.yaml, but the local Compose layout does not mount the generated bridge registration into the Synapse container, so the file path still requires manual wiring.
Tuwunel registration requires the separate admin-room flow.
Adding a new bridge type requires a template under local/instances/deploy/templates/bridges/ plus corresponding manager support.