RocketChat/hubot-freddie

Name: hubot-freddie

Owner: Rocket.Chat

Description: hubot bridge between Rocket.Chat and synapse (home) server from matrix.org

Created: 2017-08-07 02:46:40.0

Updated: 2017-10-17 05:06:31.0

Pushed: 2017-08-07 03:19:46.0

Homepage: null

Size: 32

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

hubot-freddie

Freddie is Rocket.Chat's Hubot for Federation via matrix.org

Freddie pairs a Rocket.Chat server with a Synapse Home Server.

From Rocket.Chat:

Rocket.Chat in federated channel

To Home Server:

Synapse in federated room

Out to the rest of the federated world - Slack, IRC, and beyond … via matrix.org

NOTE: This project is a work in progress.

Installation

install --save hubot-freddie

Next, you must edit the external-scripts.json file to load Freddie:


.
ubot-freddie"

Home Server Application Service Registration

In the node_modules/hubot-freddie directory:

install
 src/matrix/genASRegFile.js -r -u <URL of hubot-freddie's incoming webhook>

This will generate a rocketchat-registration.yaml file in the same directory.

Copy this file to both your Rocket.Chat server and Synapse Home Server. Note the absolute path(s).

The format of the generated file is somewhat outdated, please add the following line at the top of the Synapse Home Server's copy:

"rocketchat"

On your home server, make sure to add an entry in homeserver.yaml to point to this file:

service_config_files: ["/absolute/path/to/rocketchat-registration.yaml"]

You will also need to configure Freddie for your Rocket.Chat server and Synapse Home sever..

Configuration

You can configure Freddie via environment variables.

Configuration Options

Here are all of the options you can specify to configure hubot-freddie.

Note that these options are in addition to the options available with the hubot-rocketchat adpaters. Please see hubot-rocketchat adapter configuration options for more information.

Configure via: export VAR=Value or add to pm2 etc

Environment Variable | Description :—- | :—- HOMESERVER_URL | the URL where your Home Server is running, as seen by the bot, specify as http://host:port with no trailing slash HOMESERVER_DOMAIN | the domain of the Home Server HOMESERVER_ROOM_ID | the id of the federated room on the Home Server; note this must be the ID and not the textual name of the room ROCKETCHAT_ROOM_ID | the id of the federated room on the Rocket.Chat Server; note this must be the ID and not the textual name of the room HOMESERVER_SENDER_LOCAL | the local user on the Home Server that will create new users and send messages on behalf of incoming Rocket.Chat messages INCOMING_PORT | the port at which this bot will listen to incoming messages from the Home Server ROCKETCHAT_USER_PREFIX | the prefix added to the Rocket.Chat user name when messages are sent on his/her behalf to the Home Server WRITABLE_CONFIG_PATH | the absolute path of the directory where the bot's Matrix bridge can find the rocketchat-registration.yaml Application Service configuration file, this file must be identical to the one registered with the Home Server ROOM_MAP | a list of rooms to map, use ID_ROCKETCHAT=ID_MATRIX,...,... same as HOMESERVER_ROOM_ID ROCKETCHAT_ROOM_ID


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.