Question: What do people in this community recommend for self-hosted instant messanger projects? I host a VOIP service for my nerd herd and due to recent events i’m attempting to migrate out groups chats off of the major platforms (Discord, Google chats, Slack, Etc.) as well.

There are a few notes that were requested/requirements.

  • Self-hosted
  • Supports images
  • Has a decent mobile app
  • Encrypted communication
  • Expected load ~25 users.

I am doing my own digging but wanted to hear the communites opinions on some of the projects that came up in searches.

  • IRC/XMPP - dosent really work for the request but is a classic, so I feel had to mention it.
  • Rocket.Chat - seems like the best option so far, but I was having trouble finding current reviews, and its licensing is a bit much.
  • Matrix also is close to checking all the boxes, but it wasnt clear how it works on mobile (Element seemed like the mobile app that was recommended).
  • Revolt was high on the SEO results but most of the discussion around it was about drama with the maintainers (that is what prompted this post, i’m fishing for more current opinions).
  • Zulip seemed similar to Rocket.Chat, but more expensive if we had to get a license.

I appreciate peoples opinions and recomendations on this topic.

  • SK
    link
    fedilink
    3625 days ago

    I’ve been using a self hosted matrix server for the apst year, no complaints so far and since a lot of technical rooms already exist on other matrix servers, interoperability is a big plus. Also element mobile app is pretty decent but there are plenty of other alternative apps too.

    • @[email protected]
      link
      fedilink
      English
      825 days ago

      The new Element X app is awesome and it support the new Matrix 2.0. I highly recommend Matrix

    • Gregor
      link
      fedilink
      English
      525 days ago

      Yes, absolutely. Might be a bit difficult to set up, OP if you have any problems you can contact me at @gregor:gregtech.eu and I’ll help out (:

    • Andres Salomon
      link
      fedilink
      1025 days ago

      @wildbus8979 @Bahnd Yeah, XMPP checks all the boxes. That said, I don’t know how well encrypted group chats (MUC) work with various clients.

      Also, while message contents are encrypted, metadata is not. Self-hosting ameliorates that, but if your “self-hosting” involves a VPS or whatever hosted by a giant corporation, then that’s something to be aware of.

    • Bahnd RollardOP
      link
      English
      4
      edit-2
      25 days ago

      My last expirence with XMPP is very dated, my old groups in EvE online used it and it was perfect for its role as a sort of internet pager to summon the horde of nerds. Im aware there are many new related projects, discounting it seems a bit premature now, if you have any recomendations I would love to read their docs.

      My concern is that I would have to pitch what ever project we landed on to a semi-technical group of gamers with a handful of admins to run things. (Trying to avoid a platform that gen-z would complain about, and they already roll their eyes at me when I mention spaceships and spreadsheets).

      • poVoq
        link
        fedilink
        English
        6
        edit-2
        25 days ago

        XMPP clients for Android are great, for iOS a bit less so. On Windows / Linux Gajim is probably the best option right now. JoinJabber.org has a good list of up to date clients (do not use Pidgin, it’s horrible and super outdated).

        In general the main downside compared to Discord is the lack of voice-channels. 1:1 voice or video calls work great with the Android clients and group calls are partially supported in some desktop clients (that is currently very active field of development for XMPP clients).

        • @[email protected]
          link
          fedilink
          English
          225 days ago

          Snikket seems to be it for iOS. But it does work pretty well, I haven’t run into any issues with it.

          For Windows well, nothing does voice as far as I know.

          • poVoq
            link
            fedilink
            English
            5
            edit-2
            25 days ago

            Voice call implementation in Gajim is only waiting for an upstream improvement, it is already working otherwise. Sadly upstream seems slow in fixing this.

            You can try this unofficial Windows version of Dino though, which supports calls: https://github.com/mxlgv/dino

            Edit: and there is of course always Movim, which works fine in most browsers and supports 1:1 calls.

  • poVoq
    link
    fedilink
    English
    14
    edit-2
    25 days ago

    Why wouldn’t XMPP work? It fulfills all your requirements and has nice modern apps, especially for mobile. Definitely better than Matrix.

    The easiest to get started with it would be setting up a Snikket server (Prosody based, but pre-configured for small private groups).

    • @callcc
      link
      English
      625 days ago

      I ran an XMPP network based on prosody and used snikket on android. Can recommend!

  • @beerclue
    link
    English
    1125 days ago

    Look into mattermost. Quite powerful, and free.

    • @[email protected]
      link
      fedilink
      English
      725 days ago

      It is BUT you are limited to their test servers for mobile notifications and they honestly suck. It’s a coin flip whether you get them. And if you want better you have to set up your own container system like them with firebase and Apple Dev ids.

      I like it still but for a Greenfield project I’d probably try matrix 2.0 on synapse with element x as the mobile app.

  • @AbidanYre
    link
    English
    1125 days ago

    SimpleX is pretty good for person to person chat I’ve heard it doesn’t handle large groups very well though.

    Mattermost is an easily hostable slack-like option.

  • @aksdb
    link
    English
    924 days ago

    You could look into prose. The interface of slack/discord/mattermost, built on XMPP, with E2EE.

    • @[email protected]
      link
      fedilink
      English
      224 days ago

      Is that the same as prosody.im ?

      That’s the one I’ve been looking at. It seems to be easy, but I haven’t had time to look into it fully.

      • @aksdb
        link
        English
        123 days ago

        It’s more comparable to Snikket. Both Snikket and Prose use Prosody as server with their own extensions.

  • surfrock66
    link
    English
    825 days ago

    It’s probably more than you are looking for but if you are already looking at self hosting things connected with NextCloud, use NextCloud Talk. We use it for the family and it is great.

    • @[email protected]
      link
      fedilink
      English
      525 days ago

      Last time I checked, Nextcloud Talk android app simply refuse to implement any sort of pull system. If one’s using a google-less phone one needs to set up a push system on top (I’ve never managed to get the NC push system to work properly). There’s even a separate “Nextcloud Notification checker” app on F-Droid to remedy the problem. It’s all a bit silly.

      • @[email protected]
        link
        fedilink
        English
        725 days ago

        The really hilarious thing to me is that the NextPush app (unified push provider that can be run on your nextcloud server) is unsupported by nextcloud talk. But it is supported by a bunch of other competing applications.

  • @[email protected]
    link
    fedilink
    English
    825 days ago

    +1 for matrix. Also check out schlidichat which is a nice client for matrix forked from Element

    • themadcodger
      link
      fedilink
      325 days ago

      That’s what I ended up doing for my group that wanted off Discord for privacy reasons. Mobile works fine and I’m also using Schildichat, though I think most of my group is using Element.

        • themadcodger
          link
          fedilink
          325 days ago

          I haven’t really had any problems with it. We’ve been using it regularly for text, but mostly for voice chat during games. It’s a lot to set up, but I’m using someone’s ansible setup so I just run a few commands and it does its thing and updates in the background.

  • @[email protected]
    link
    fedilink
    English
    725 days ago

    I host Rocket.Chat for my wife’s business. The free self-hosted version now allows up to 50 users before having to purchase a license (was 25 prior to the version 7 update). If you kick a user you simply deactivate their account and regain the user slot. Rather than deleting a user completely which would additionally delete any messages they’ve posted.

    Easy to host, easy to upgrade. Mobile apps both IOS and Android work well.

    I wanted to use Zulip as I felt the interface was cleaner. But the 10 user limit was a deal breaker.

  • sunzu2
    link
    fedilink
    725 days ago

    for matrix check out element X, which is X is the modernized version for matrix 2 protocol

    they have a server side software you can selfhost too

  • Admiral Patrick
    link
    fedilink
    English
    625 days ago

    Matrix also is close to checking all the boxes, but it wasnt clear how it works on mobile (Element seemed like the mobile app that was recommended).

    I run Matrix, and it’s pretty great. Though I would recommend Schildichat over Element for the mobile app. I had all kinds of issues with Element Mobile somehow screwing up the E2EE keys for my other sessions. Nothing seemed to fix it except removing my account from it completely. Switched to Schildichat and haven’t had that issue since.

    • Scrubbles
      link
      fedilink
      English
      425 days ago

      Seconded with Matrix. All I’m wanting for it is for someone to make a Discord/Revolt UI frontend for Matrix 2.0 and it’ll be a drop in replacement

    • @[email protected]
      link
      fedilink
      English
      225 days ago

      Same, I had already considered self hosting matrix but this will help find a few more options