An open source integration manager for matrix clients, like Element.
Go to file
2017-09-08 20:30:49 -06:00
config Add backend for simple widgets (custom) 2017-08-27 23:02:36 -06:00
db Let's get this party started: Base structure 2017-05-26 21:51:48 -06:00
docs Minor edit to Riot documentation on widgets 2017-08-27 23:32:16 -06:00
migrations Support adding/removing matrix.org's simple bots. 2017-05-27 17:45:07 -06:00
src Add backend for simple widgets (custom) 2017-08-27 23:02:36 -06:00
web Slight change in avatar for custom widgets 2017-08-28 22:17:47 -06:00
.gitignore Change up bot structure to support hosted bots. Adds #12 2017-05-28 00:41:00 -06:00
.travis.yml Disable greenkeeper 2017-09-02 23:08:14 -06:00
app.js Restructure backend integrations to better support the various types 2017-05-28 17:13:03 -06:00
jenkins.sh Add jenkins build script 2017-06-25 22:22:14 -06:00
LICENSE Initial commit 2017-05-25 15:41:56 -06:00
package-lock.json Lookup SRV records when trying to get open ID information 2017-08-26 23:49:27 -06:00
package.json Lookup SRV records when trying to get open ID information 2017-08-26 23:49:27 -06:00
postcss.config.js Upgrade dependencies to be nodejs 6.11 & npm5 compatible 2017-06-25 21:57:13 -06:00
README.md Clean up documentation in README 2017-09-08 20:30:49 -06:00
tsconfig.json Let's get this party started: Base structure 2017-05-26 21:51:48 -06:00
tslint.json Make tslint happy 2017-08-27 19:12:47 -06:00
webpack.config.js Make dev environment happy again 2017-06-25 22:07:41 -06:00

Dimension

TravisCI badge Targeted for next release WIP

An alternative integrations manager for Riot. Join us on matrix: #dimension:t2l.io

screenshot

⚠️ Dimension is in Alpha ⚠️

Dimension supports some bridges and bots, however using Dimension in a production scenario is not recommended. Dimension uses features available in recent builds of Riot and may not work on older versions.

There are plans on the matrix.org front to better support integration managers. Those changes may require an updated homeserver and Riot when made available.

Configuring Riot to use Dimension

Change the values in Riot's config.json as shown below. If you do not have a config.json, copy the config.sample.json from Riot.

"integrations_ui_url": "https://dimension.t2bot.io/riot",
"integrations_rest_url": "https://dimension.t2bot.io/api/v1/scalar",

The remaining settings should be tailored for your Riot deployment.

Building

To create a production build of Dimension, run npm run build. For development environments, see the Development section below.

Running your own

  1. Run npm run build
  2. Copy config/default.yaml to config/production.yaml and edit config/production.yaml
  3. Edit any integration settings in config/integrations
  4. Run Dimension with NODE_ENV=production node app.js

Dimension is now available on the port/host you configured.

Running Dimension behind nginx

  1. Run npm run build
  2. Copy config/default.yaml to config/production.yaml and edit config/production.yaml
  3. Edit any integration settings in config/integrations
  4. Set the host for Dimension to listen on to localhost or 127.0.0.1
  5. Run Dimension with NODE_ENV=production node app.js
  6. Set up the following reverse proxy information as applicable
    location / {
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://localhost:8184;
    }
    
    Be sure to also configure any SSL offloading.

Development

  1. Copy config/default.yaml to config/development.yaml and make any edits
  2. Run Dimension with NODE_ENV=development node app.js
  3. Run the web app with npm run dev