(Post found on a Mastodon toot)

  • @TheAgeOfSuperboredom@lemmy.ca
    113 years ago

    I’ve been running a small Synapse instance (for me and one other person) for about 4 years now. I initially set it up just to play with Matrix, but it’s become the main way the two of us communicate via our phones.

    I was amazed at how simple it was to setup and how stable it’s been! The only times it has gone down (only two or three times if I remember) was when Postgres updated, so I had to manually migrate the database. I’m running it all with docker now so I don’t anticipate any more of those issues. I do only have two users on it so I don’t have to worry about tuning like a larger instance, but I’ve still been impressed!

    • @Bloodaxe@lemmy.ml
      53 years ago

      What hardware do you run it on? And you federate with other, larger instances like matrix.org? I wanna host myself, but I have no clue what to expect 😆

      • I have a small droplet on Digital Ocean that acts as a reverse proxy to another larger machine. I’m using Wireguard between the two machines to create an encrypted channel and so I don’t have to mess with the network firewall. It also gives me a separate network interface that I can control with a firewall on the machine itself.

        The host was an i3-4160 with 8GB of ram running Arch. It was hosting Synapse, among other things. I’ve recently upgraded to an i5-11400, but the i3 was working perfectly for Synapse.

        I tried federating it a couple years ago, but I stopped since I wasn’t sure at the time if I wanted to keep that particular domain. And since I was only using it for the two of us, I didn’t bother setting up federation again. I imagine that it would put a larger load on the system depending on what rooms you join.

        I’m not familiar with Ansible, so I didn’t go with their recommendation to use that. Instead, I used the docker-compose.yml from their repository and modified it for my needs: https://github.com/matrix-org/synapse/blob/master/contrib/docker/docker-compose.yml

        Give it a shot though! Some people have said they’ve had trouble setting it up, but it’s been flawless for me.

    • @DeathByDenim@lemmy.ml
      43 years ago

      Nice! I’ve been only running an instance for about a year now on a Linode instance. I did set it up to be federated since I use it for various Matrix channels I am interested in. Also some IRC channels thanks to the bridging functionality on Freenode (and now Libera.chat of course). I’d say there was a bit of a learning curve, but it’s been rock solid.

      Fairly recently, I got my family on Matrix as well. They’ve been trying to get me on Whatsapp for a while but that does not exactly excite me. I don’t have smartphones running Android or iOS anyway. I did manage to set up a Whatsapp bridge and an Android VM with a throwaway VOIP number. However, that lasted about a week until I was banned by Facebook. Great! I used that to convince my family to just install Element on their phone and connect to my server.

      That’s been working really well ever since! They can send pictures, videos and chat messages really easily now.

      • Fantastic! It’s great to hear you were able to get your family using it too. Did they have any challenges getting set up or was it pretty smooth?

        I’m also curious about your experience federating. What sort of load is that placing on your server?

        • @DeathByDenim@lemmy.ml
          33 years ago

          For family, the only issue was confusion in Element for the Sign In vs Sign Up button. I had given them credentials myself to make it easier, but one of them tried using “Sign Up” with those credentials, which of course led to “username is taken” so they signed up with a different username.

          I had started 1-on-1 conversations with all of the other family members, but since this one created a new account, they started a group conversation with me. So, they are listed under group conversations for me now, but meh, that works too.

          I have a 1 GB node on Linode which is just a bit too little it seems, especially when joining the larger rooms on federated servers. However, I managed to make synapse work with systemd so now it just autorestarts if it ever crashes. I don’t even notice anything anymore. Getting synapse to play nice with SELinux and systemd was by far the biggest challenge, but that’s unrelated to federating.

          Currently synapse is idling at 20% mem usage and barely any CPU usage.

          Another non-federation-related issue is that I also had a minor issue where Nginx limited uploads to 10 MB which is a bit harsh for uploading videos. Took me a bit to figure that one out, but in the end it was just adding one line to /etc/nginx/conf.d/matrix.conf in the server sections, i.e.:

          client_max_body_size 250M;

          Setting up the rest was pretty straightforward. I even got a TURN server running as well even though I don’t really use the video calling part yet.