Skip to content

Commit

Permalink
Merge pull request #45 from bmamlin/master
Browse files Browse the repository at this point in the history
switch from teleirc to matterbridge
  • Loading branch information
bmamlin committed Jul 8, 2020
2 parents 81b6f2d + cf51095 commit 86ca2c7
Show file tree
Hide file tree
Showing 9 changed files with 106 additions and 36 deletions.
15 changes: 15 additions & 0 deletions files/matterbridge/.env
@@ -0,0 +1,15 @@
$ANSIBLE_VAULT;1.1;AES256
64656633626236653762333033333335373934356336306438663336303662376166383431613062
3032373965376334303365353963616662663864336139300a333966363532653166636431666537
66613433346362343063656165303766373437393664373263386639613933643437376539653066
3432333037333366640a616536386364306139613836323731343664393133383663363134303966
36623362306634316365383238613239626638623930373038373631346534623032326234643766
34343762343462326661653831666332613932663161626232316537373633666661396137393238
34313332646666633737363431643764373130636131323830353066643362336237613637643763
35346132366630303839383639653533316634653637633333636466363662653337636565393735
33376464343637643831393931386538356262326563613865343839643962363437306138643064
35326336643036346231383936633434323031303636376262373735396337313937376434633239
65356565346566376265363736613735303932326465386137333630633832353533653439336236
39303531326666356432666665343838353762316331353034396364626138663963313034303439
38303237316137643638623538313165623435346337393438323332663066363265626137653261
3239366465366164623737313932613331613732336230313739
39 changes: 39 additions & 0 deletions files/matterbridge/README.md
@@ -0,0 +1,39 @@
# Description

Runs [matterbridge](https://github.com/42wim/matterbridge/) as a docker-compose service
to bridge channels across chat services used by the community.

## Bridges

- IRC `#openmrs` channel
- Telegram `OpenMRS Chat` channel ([t.me/OpenMRS](https://t.me/OpenMRS))
- Slack `#general` channel

## Configuration

All credentials are configured via the `.env` file.

# Setup

## IRC

The `omrsbridge` user is registered to openmrs-infrastructure+irc email address
and has voice in the `#openmrs` channel.

## Telegram

The `omrsbridge_bot` was created using BotFather from the `OpenMRS_Admin` user
registered to the OpenMRS telephone number.

## Slack

An `omrsbridge` app was created using classic bot settings per the
[Slack bot setup](https://github.com/42wim/matterbridge/wiki/Slack-bot-setup)
instructions in the matterbridge documentation. When it was created in July 2020,
matterbridge used Slack "classic" bot creation and did not support granular permissions,
so you needed to use a special link when creating the bot, add the specific scopes
mentioned in the documentation, and avoid upgrading to granular permissions despite
Slack promoting their use (don't click on links/buttons offering to upgrade to granular
permissions or it won't work). matterbridge uses the Bot User OAuth Access Token (starting
with `xoxb-`) and will bridge to any channels the `omrsbridge` app is invited to within
Slack.
14 changes: 14 additions & 0 deletions files/matterbridge/docker-compose.yml
@@ -0,0 +1,14 @@
version: "3.7"

services:
matterbridge:
image: 42wim/matterbridge:1.17.5
restart: always
volumes:
- ./matterbridge.toml:/etc/matterbridge/matterbridge.toml
environment:
- MATTERBRIDGE_IRC_OMRS_NICK=$IRC_NICK
- MATTERBRIDGE_IRC_OMRS_NICKSERVNICK=$IRC_NICK
- MATTERBRIDGE_IRC_OMRS_NICKSERVPASSWORD=$IRC_PASSWORD
- MATTERBRIDGE_TELEGRAM_OMRS_TOKEN=$TELEGRAM_TOKEN
- MATTERBRIDGE_SLACK_OMRS_TOKEN=$SLACK_TOKEN
4 changes: 4 additions & 0 deletions files/matterbridge/env.template
@@ -0,0 +1,4 @@
IRC_NICK=ircnick
IRC_PASSWORD=ircpassword
TELEGRAM_TOKEN=telegram-bot-token
SLACK_TOKEN=xoxb-slack-bot-user-oauth-access-token
34 changes: 34 additions & 0 deletions files/matterbridge/matterbridge.toml
@@ -0,0 +1,34 @@
[general]
RemoteNickFormat="{NICK} <{PROTOCOL}> "

[irc.omrs]
Nick="" # uses env MATTERBRIDGE_IRC_OMRS_NICK
NickServNick="" # uses env MATTERBRIDGE_IRC_OMRS_NICKSERVNICK
NickServPassword="" # uses env MATTERBRIDGE_IRC_OMRS_NICKSERVPASSWORD
Server="irc.freenode.net:6697"
UseTLS=true
UseSASL=true
SkipTLSVerify=false

[telegram.omrs]
Token="" # uses env MATTERBRIDGE_TELEGRAM_OMRS_TOKEN

[slack]
[slack.omrs]
Token="" # uses env MATTERBRIDGE_SLACK_OMRS_TOKEN

[[gateway]]
name="omrs_gateway"
enable=true

[[gateway.inout]]
account="irc.omrs"
channel="#openmrs"

[[gateway.inout]]
account="telegram.omrs"
channel="-1001316747171" # t.me/OpenMRS

[[gateway.inout]]
account="slack.omrs"
channel="general"
16 changes: 0 additions & 16 deletions files/teleirc/.env

This file was deleted.

2 changes: 0 additions & 2 deletions files/teleirc/README.md

This file was deleted.

12 changes: 0 additions & 12 deletions files/teleirc/docker-compose.yml

This file was deleted.

6 changes: 0 additions & 6 deletions files/teleirc/env.template

This file was deleted.

0 comments on commit 86ca2c7

Please sign in to comment.