Hi. I have a group of 6 people using Discord to chat. Recently Discord changed a lot and we’re looking for an alternative. We have a few requirements:

  • Good client on multiple platforms
  • Easy to use search
  • Self hosted
  • Permanently saved chat history & attachments on server (no expiration)
  • Easy image upload (Ctrl+V to post image from clipboard)

IRC isn’t an option as chat history is saved on the client, and there’s no good integrated way to share files and preview images. Matrix would be an overkill as we’re a small group not interested in federation, and the available clients had a few bugs. Mattermost lacks a good mobile app (their current one had bunch of bugs). XMPP appears to be the best as it is extensible and has many clients available.

However, I tried configuring prosody on my FreeBSD server and it seems like it doesn’t permanently save chat history or attachment files. Does anyone know if these can be solved? Or is there any better alternative than XMPP?

Thanks.

  • WeAreAllOne@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 months ago

    Many years ago I used XMPP with Prosody and it was ok.

    • You can setup some retention time for attachments and history depending on the space you have.
    • There are clients for multiple platforms but not very much advanced vs competition.
    • Security is good with omemo protocol. In so e clients you have to turn it on since it’s not by default.
    • Audio video calls on one to one is good as long as you setup stun coturn server. Android to iOS calls still in progress.
    • Check out Snikket for an all in one solution.

    You might want to also consider Matrix (dendrite option ?) for your needs.

    • EngineerGaming@feddit.nl
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 months ago

      I just started hosting Matrix in addition to XMPP (just because some communities prefer it now), and I find it bothersome that it saves chat history and media to every participating server. IDK how much of an issue chat logs would be, but media scares me a lot. Hopefully cleaning old files manually would not break anything…

      Anyway, I started with Conduit rather than Dendrite, and it seems like a good experience. Could not even hope to get Synapse going on my weak VPS.

  • Kairos@lemmy.today
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 months ago

    You can have non-federated Matrix. And XMPP is federated as well.

    XMPP is probably fine. I haven’t used it but people say it’s good.

    • hexagonwin@lemmy.sdf.orgOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 months ago

      You’re right that XMPP is federated as well and Matrix can be non-federated but I’ve heard some people had trouble with the Synapse server chugging resources despite not using federation.

      • Stefano Prenna@lemmy.stefanoprenna.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        7 months ago

        I’ve been self-hosting Matrix Synapse for more than two years to chat friends and family and it has been rock-solid and it’s on a VPS that os hosting a Nextcloud and Lemmy instance as well. It is definitely not really resource hungry for small groups of people.

        If you want to try again this route, just make sure that everybody saves a backup of their keys as the messages are all encrypted and while you can authenticate a new client installation from another client that the same user is logged in, some people - like my mother - only use one, on her phone, which is understandable.

        So in summary, I’m very happy with it! :)

  • aksdb@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 months ago

    I am surprised that no one mentioned snikket yet, which is essentially a distribution of Prosody with sane defaults and a custom client.

    • hexagonwin@lemmy.sdf.orgOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      7 months ago

      Looks interesting, but isn’t this slow though?

      Our chatroom is very active and the members won’t move if it’s much slower compared to Discord unfortunately…

      • bob@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        7 months ago

        It’s basically real-time, even sending large files is very fast, I don’t know the details of the reason, maybe it’s because there is not much difference between IMAP and TLS, or because the roundcube we deploy is super fast?

    • gray@lemmy.ml
      link
      fedilink
      English
      arrow-up
      0
      ·
      7 months ago

      This is interesting. I’ve never heard of this project but it looks really neat.

      • bob@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        7 months ago

        We’ve been using it on our phones and desktops for three years now, it’s very stable

        • gray@lemmy.ml
          link
          fedilink
          English
          arrow-up
          0
          ·
          7 months ago

          Do you self host your email or use it with an email provider? Also, does it need its own inbox/address to function? I can’t really tell from the documentation if it functions along side normal emails or if it’ll mess up your inbox if you use it with your normal inbox/address.

          • bob@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            7 months ago

            We use a self-hosted roundcube mail server, which is not necessary, and we did initially assign each person an additional account dedicated to delta.chat to prevent inbox clutter, but that didn’t happen.

            Nowadays, we prefer to send and receive emails in delta.chat. One of my groups already has 70 members, contains a lot of images and PDFs, and it’s still very fluid to use.

            We also run bots for integration with other systems, such as task management, meeting notifications, etc.