Mattermost - an opensource self-hosted Slack Alternative

If you’re even remotely in tech you would be knowing about and with high chance using Slack - now ubiquitous messaging system which has replaced (almost) IRCs, Jabber and other IM-like clients especially in corporates.

In my current company, we have been using Slack extensively - free version.

Free version of Slack has some limitations (ofcourse, that’s why it is free!):

Now, these are some serious limitations. Not all channels are made equal e.g. a channel for discussing emergency response would have a higher bearing on losing messages (entire history of discussions!) because of some random chats elsewhere than a general channel for discussing company gossip. In our case, we were losing history of the messages as soon as we consume the limits (10K messages for example) and this used to come without warning.

Need..

Till the time team is small (say ~ 50-100) you don’t really have to worry about this as much but once the team grows beyond it then requirements arise to curb these limits. The solution is you pay for the service on Slack. This is exactly what we planned.

The pricing of Slack is per user and minimum pricing that is available from Slack is $6 per user per month.

Saviour..

That is when I got to know about Mattermost - an opensource self-hosted Slack alternative which is incredibly Slack-compatible. For more than a month, we have been using this alongwith the Slack to get a sense of “if we are not able to do a certain thing”. Till now, functionality wise Mattermost is working for us well.

Our setup of Mattermost is on AWS:

It provides following benefits:

(As pointed, limit is elastic - you can always go and upgrade your disk - also, disk is cheap)

It was simple to switch:

Mattermost

Cost comparison..

The approximate per month cost (as per this site) would be $50 (EC2) + $10 (100GB storage) + $30 (2GB RAM RDS postgres instance) = $90. This is approximate so let’s round it to $100.

This is not per user. :-)

The strength of my company is 500+ currently and it’s growing fast. Even if we assume 50% of them being active on slack (which is an underestimate) we can see quickly that cost of buying the Standard Slack would be $6 * 250 = $1500 per month. As compared to this, the cost of setting up and running Mattermost for communication needs is meagre $100 per month.

Downsides..

One problem which we have faced and have heard complaints from teams is around Notifications in Mattermost. Notifications are not as smooth as Slack for Mobile and Desktop both. There is delay and alerting doesn’t work sometime in realtime. In worst cases, what I have observed is that with a delay of few minutes we do get notifications.

But with Mattermost setup, the load on Slack (free version) anyways comes down so you can choose to keep few alerting systems running on free version Slack and move more persistent kind of requirements (like chat, datadog integrations, consul integrations) on Mattermost.