My team uses Slack and want to replace it with a self-hosted open source alternative.

Absolute requirements:

  • Open source (server and ALL clients)
  • Self-hostable
  • Rock-solid native apps for Android and iOS
  • Web app available
  • Channels (I mean I can create multiple chat rooms, for instance for each project)
  • Ability to post new items from an RSS/Atom feed in a channel as they come
  • All content invisible to outsiders
  • For each message, see sender and time
  • Channel notifications, that can be configured (eg. mute this channel)
  • Messages can be edited after sending, but are marked with time of last modification
  • Can see messages that have been exchanged when I was not connected
  • History fully searchable from any of the apps


  • Threaded discussion

3 Answers 3


Here is a software recommendation for you as per the features mentioned by you. You can review the same and let me know if you have any query. I have not used it but hope so that all the features mentioned by you are covered.

Mattermost is self-hosted team communication service bringing messaging and file sharing into one place, accessible across PCs and phones, with archiving and search.

Mattermost seems well supported. I don't know the project, but you can find many related projects at Github, including the project's own Android app plus the one for ios and the desktop app for Linux/Mac/Win. Its platform describes itself as Open source Slack-alternative, so this might indeed be a good fit. It also supports comments threading which might benefit you. Also, comment threading feature is not in Slack.

For more details, Check here for product features and documentation.



Just to expand the playing field a little, what about IRC?

There are thousands of open source implementations of IRC that could meet your requirements, though it may take a little more work than a pre-built solution.

IRC is an exceptionally simple protocol that's been around since 1988. It's still widely in use today and you can see remnants of it everywhere - Including in Slack. It has full channel and permissions support, can be run on basically anything, and has many other features added by clients. You can extend the server side even more with bot users, similar to Slack.

For example:

UnrealIRCd is an open source IRC server.

Hexchat is an open source Windows IRC client based on XChat.

Unfortunately I don't have enough reputation to post more links, but some things to look at would be Yet Another Android IRC Client, which is an open source Android implementation, and Colloquy, an open source iPhone implementation.

To look into expanding functionality with bots, you could look into the nodejs-irc library, which is a very powerful library for connecting to and interacting with IRC servers, channels and users in node-js. But once again, there are thousands of implementations available in various languages.

  • Out of curiosity, does IRC work well with encryption? Or would it just have to use tunneled connections?
    – JAB
    Commented Mar 29, 2016 at 15:00
  • @JAB Most IRC daemons and clients support SSL/TLS these days, including the ones I mentioned. Commented Mar 29, 2016 at 15:03
  • Is IRC history fully searchable from any Android IRC apps? People are not connected all the time.
    – Nicolas Raoul
    Commented Mar 29, 2016 at 15:05
  • @NicolasRaoul Not by default. It gets a little tricky at this point - You could use something like irc-historian, which allows a user to catch up on missed chat messages in their absence, and then use their in-client search capability to filter it, but this could be more trouble than it's worth. Commented Mar 29, 2016 at 15:09

What's about Jabber? Prosody is a nice Server. You have clients for mobile devices. (You will find open source clients) You have for Windows, Linux and Mac clients and you can easily integrate LDAP like an active directory.

You have Chatrooms and you can install a web service as well. Prosody is open source.

  • Is history fully searchable from any Android app? People are not connected all the time.
    – Nicolas Raoul
    Commented Mar 29, 2016 at 15:06
  • I would research/try ist for you! You hear from me.
    – Microgamer
    Commented Mar 29, 2016 at 18:13
  • Jabber uses XML, and XML is the worst in terms of parsing and performance. Commented Dec 13, 2020 at 9:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.