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 happens via environment variables and a configuration template file.
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 makesMATTERBRIDGE_VERSION
ignored.)- With caution, you may want to use the latest nightly matterbridge build while waiting on the next official release.
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.
- Edit channel bridge config via
config/config-heroku-template.toml
.