An open source integration manager for matrix clients, like Riot

View the source on Github. Visit the community in #dimension:t2bot.io on matrix.

Try it out

The easiest way to see it in action is to log in to your matrix account at t2bot.io/riot (be sure to change the server URL to match your homeserver). The other option is to point your Riot config.json at our servers:

{{ integrationsConfig }}

Running your own

You'll need NodeJS 8 or higher, npm 5 or higher, and Riot (or another supported client). For help getting Dimension set up, please see the README or visit us in #dimension:t2bot.io on matrix.

{{ downloadInstructions }}

If you didn't change the default settings for the webserver, Dimension should now be running on port 8184 of your server. It is best at this point to set up your reverse proxy to access Dimension. Use a hostname that is not the same as your Riot address (eg: dimension.t2bot.io). Visit the public address for Dimension (eg: dimension.t2bot.io) and follow the instructions.

Do I need an integration manager?

Riot, and other clients, come with an integration manager already configured to get you started. This integration manager is not compatible with private (non-federated) homeservers and isn't open source, however. Dimension fills this gap by providing a self-hosted and open source integration manager that uses your infrastructure instead of someone else's.

If you're looking to use an open source or self-hosted integration manager on Riot or another client, Dimension is for you.

What is an integration manager?

Integration managers are the part of your client that help you configure the various bots, bridges, and widgets for your room and account. Many bots, brides, and widgets ('integrations') have manual, text-based, ways to configure them however for most users that can be too complicated or confusing. Dimension, and other integration managers, aim to provide an easy-to-use interface for setting up integrations.

The infrastructure ends up looking something like this:

Welcome to your new Dimension instance!

If you haven't already, join #dimension:t2bot.io on matrix and star the repository on Github.

Configuring Riot

Update your Riot config.json file to have the following options:

{{ integrationsConfig }}

Configuring bots, bridges, and widgets

All of the bots, bridges, and widgets Dimension offers can be turned on and off and configured from within Riot.

  1. Open the integrations manager (the 3x3 grid in the top right of any room).
  2. If you're an admin, you'll see a gear () icon in the top right. To add yourself as an admin, put your user ID in the Dimension configuration and restart Dimension.
  3. Click the gear icon and go through the different areas on the left to configure your integrations.

"Could not contact integrations server" error

When Riot cannot reach Dimension or Dimension is unable to reach your homeserver an error saying "Could not contact integrations server" shows up in every room. Before visiting us in #dimension:t2bot.io on matrix, here's a few things to check: