• hperrin@lemmy.ca
      link
      fedilink
      English
      arrow-up
      10
      ·
      7 hours ago

      If you set up your community on an existing server, like Matrix.org, it’ll be really easy. And it’s pretty easy to join as an end user.

      But if you have your own domain, and you want to host your own Matrix server (mine is matrix.port87.help), be prepared to spend at least a day trying to get everything to work. There are six different services you need to run:

      • synapse
      • postgres
      • element
      • coturn
      • jwt
      • livekit

      And there’s no guide for just setting up everything easily. You have to follow several different guides that sometimes have conflicting information. Not all the guides are exactly comprehensive, too, so be prepared to read a lot of documentation. You’ll also need to forward a bunch of ports, and then a port range (thousands of ports, for coturn).

      It’s very easy to mess something up, and sometimes it’s very hard to tell. For example, I was running federation on 8448, like you’re supposed to, but my server was advertising that federation was on 443. This caused some rooms on other servers to be unjoinable. It gave me a cryptic error message about it, and I had to read through a few Stack Overflow posts and GitHub issues to finally figure it out.

      Synapse will complain about Postgres’ collation and encoding, and that’s quite difficult to fix. You have to add some arguments to the startup command to force the right encoding.

      Synapse will also log fucking everything, so make sure to set log level to “ERROR”.

      None of this is meant to scare you away from running your own Matrix server. If you want help, I’d even be willing to zip up all my docker compose files and send them to you. This is more meant to indicate that the Matrix team should focus on making this process easier.

      • Deconceptualist@leminal.space
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 hour ago

        Whoa, ok thanks I appreciate the warning and details! I’ll try the existing server route first then. My friend has a domain name we could use but it’s not that important.

      • hanke@feddit.nu
        link
        fedilink
        English
        arrow-up
        1
        ·
        7 hours ago

        What is the reason you pick Synapse for the backend?

        Aren’t there simpler to use implementations?

        • hperrin@lemmy.ca
          link
          fedilink
          English
          arrow-up
          3
          ·
          6 hours ago

          It’s the most popular one by a huge margin, and it’s the reference implementation from the protocol devs.

          • hanke@feddit.nu
            link
            fedilink
            English
            arrow-up
            1
            ·
            6 hours ago

            Windows is the most popular OS by a huge margin and undoubtedly the default desktop OS for most. That don’t mean it has to be the best option out there.

            I prefer simplicity and Synapse does not seem to offer that…