Matterbridge-Heroku

by cadecairos

GitHub Readme.md

Matterbridge-Heroku

Deploy

An inline buildpack for hosting Matterbridge on Heroku.

Heroku is a platform for easily deploying applications.

A buildpack provides framework and runtime support for apps running on platforms like Heroku.

An inline buildpack is a special buildpack that includes code for both the app and the buildpack that runs the app.

Matterbridge is a simple bridge that can relay messages between a number of different chat services, essentially connecting separate chat tools.

This repo includes a custom config file specific to a sample implementation, but this is intended to be modified in your own fork.

Configuration

Configuration happens via environment variables and a configuration template file.

Environment: Buildpack

  • MATTERBRIDGE_VERSION Required. Use a matterbridge git tag.
  • MATTERBRIDGE_URL Optional. Use this to download the binary from a custom url instead of the tagged release from the official GitHub repo. (Setting this makes MATTERBRIDGE_VERSION ignored.)

Environment: Matterbridge

Matterbridge has some configuration of its own, which is mostly documented upstream. For starters, we'll review the most important aspects:

  • DEBUG. Set to "1" to log all message events across bridges.

Matterbridge uses Viper, and so each value in the TOML configuration can be set by envvar.

Basically, here are the rules:

  • Each config envvar is prefixed with MATTERBRIDGE_.
  • Each nested level of config object is separated by an underscore _.
  • Any dash in a config key is converted to an underscore _.

So for example, with this in your TOML config:

[slack.my-team]
Token="xoxp-xxxxxxxxxxxxxxxxxxxxxxxxxxx"

You could instead set an environment variable for MATTERBRIDGE_SLACK_MY_TEAM_TOKEN and leave that key out of in the configuration file template.

Template: Matterbridge