I’m looking into hosting one of these for the first time. From my limited research, XMPP seems to win in every way, which makes me think I must be missing something. Matrix is almost always mentioned as the de-facto standard, but I rarely saw arguments why it is better than XMPP?

Xmpp seems way easier to host, requiring less resources, has many more options for clients, and is simpler and thus easier to manage and reason about when something goes wrong.

So what’s the deal?

  • DerinA
    link
    English
    18
    edit-2
    2 months ago

    This is the correct answer, IMO.

    I loved using XMPP back in the day, but I struggled talking with people who weren’t on the same server as me because of spec and client variations.

    While Synapse is a resource hog, it (and Element) - to a certain degree - does the job. Can’t wait until sync v3 lands in the main server.

    The only issue I have is with one friend who insists on deploying his own version of Synapse, but can’t figure out coturn and - as a result - we can’t voice chat properly.

    Goddammit. Two steps forward, one step backward. 😅

    • @helenslunch@feddit.nl
      link
      fedilink
      English
      92 months ago

      Funny I just launched Conduit this morning. Seems to work better than Synapse and is supposedly lighter.

      • DerinA
        link
        English
        92 months ago

        Conduit sounds very exciting - but my synapse installation (and its concomitant database) is too old and big for me to make a switch to anything else just yet.

        But I’m hoping Dendrite will one day allow me to migrate over - I don’t like how one of my most mission critical programs is a Python program running out of a packaged venv. 😅

    • antsu
      link
      fedilink
      English
      2
      edit-2
      2 months ago

      Suggest your friend to give Eturnal a try maybe. I have it running on an Oracle free tier instance, and I use it daily to have video calls with my family using Synapse/Element (and Jitsi inside Element for group calls), and it works great. The documentation is very good too.

      Edit: this is my Eturnal config, for reference:

      eturnal: listen: - ip: "::" port: 3478 transport: udp enable_turn: true - ip: "::" port: 3478 transport: auto enable_turn: true - ip: "::" port: 5349 transport: tls enable_turn: true realm: turn.<MY_DOMAIN> tls_crt_file: /etc/letsencrypt/live/turn.<MY_DOMAIN>/fullchain.pem tls_key_file: /etc/letsencrypt/live/turn.<MY_DOMAIN>/privkey.pem tls_options: - no_tlsv1 - no_tlsv1_1 - cipher_server_preference

      And the compose file: services: eturnal: container_name: eturnal image: ghcr.io/processone/eturnal:latest environment: ETURNAL_RELAY_MIN_PORT: 49160 ETURNAL_RELAY_MAX_PORT: 59160 ETURNAL_RELAY_IPV4_ADDR: <REDACTED> ETURNAL_RELAY_IPV6_ADDR: <REDACTED> ETURNAL_SECRET: <VERY LONG RANDOM STRING> volumes: - ./eturnal.yml:/etc/eturnal.yml:ro - /etc/letsencrypt:/etc/letsencrypt:ro restart: unless-stopped read_only: true cap_drop: - ALL security_opt: - no-new-privileges:true network_mode: host

      • DerinA
        link
        English
        12 months ago

        Ooh, I’ll tell them to try it out - looks cool, cheers!