To anyone who follows my posts here, my love of open-source software is well-known. Open-source alternatives allow me to host my own nameservers, email, website, and GitHub alternative, and I’ve now supplanted Slack and automation tools like IFTTT and Zapier.
For some time now, I’ve been aware of Mattermost, but I hadn’t explored it. GitLab includes an integration, which first alerted me to Mattermost’s potential. It wasn’t until recently, however, that I considered Mattermost as part of my self-hosted regimen. The Slack instance that I’d used previously was due for renewal, and the discounts that justified its cost had expired. Mattermost’s extensive install documentation, and replication of Slack’s widely-supported webhook and Slash-command formats, made replacing Slack a simple process. I’ve been pleasantly surprised by the number of sites that accept a Mattermost webhook where a Slack webhook is requested.
Some time prior to introducing Mattermost, I burdened my VPS with a second Ruby app in my quest for data ownership. Following in GitLab’s shadow, Huginn demands 1gb of RAM to replace automation services such as IFTTT and Zapier, but the freedom it provides is worth the commitment (for the record, Mattermost is written in Go and requires less than 100mb of RAM). Huginn offers far-greater control over workflows than any service I’ve used prior. Being able to create my own webhooks, filter and de-duplicate their results, and then send that data to Mattermost and an email digest is just one example of the power Huginn provides. In conjunction with IFTTT’s Maker channel, or Zapier’s ability to send webhook payloads, any of their supported services that aren’t publicly available can be connected to Huginn, ensuring continuity.
Once I’ve had both Mattermost and Huginn running for a meaningful period, I plan to share the integrations I’ve added to the former and the agents created using the latter.