9 votes

Topic deleted by author

10 comments

  1. [4]
    smores
    Link
    My guess is that just the text chat for Matrix would be mostly fine (there would be some added CPU strain from encryption if you have it enabled, but I doubt it would really be noticeable). I...

    My guess is that just the text chat for Matrix would be mostly fine (there would be some added CPU strain from encryption if you have it enabled, but I doubt it would really be noticeable). I would be seriously impressed with both RPi and Matrix if it could handle video calls; I have an i5 Intel NUC and it can only just barely handle 3-person next cloud video calls for any extended period of time (at least I'm pretty sure that's what crashed it last night :D ).

    I think your 15mps down is probably fine for most streaming things (even "HD" streaming usually only needs 14mbps or so, I think). 1mbps up is definitely slow, but it might be fine? If you can do video chat with cloud-hosted software, you'll likely be able to do it with self-hosted software (though it will mean that the max video quality for everyone will be limited by your upload speed, instead of everyone else's).

    My only issue that I had running an RPi as a pi-hole server was that I didn't have a solid enough power source. I'm not sure if it was a shoddy third-party charger, bad outlet, or what, but it just kind of died every once in a while, which is bad news for a DNS server :P

    I now self host a bunch of things, and they're all on my NUC. That said, I literally just got a dell R710 delivered as I was typing this (!!!) that I'm going to try to migrate my Plex media server over to.

    5 votes
    1. [2]
      blitz
      (edited )
      Link Parent
      I would be less optimistic about running a Matrix server on an RPI. Since Matrix is a federated protocol, your users have the ability to join massive rooms hosted on other Matrix instances. This...

      My guess is that just the text chat for Matrix would be mostly fine

      I would be less optimistic about running a Matrix server on an RPI. Since Matrix is a federated protocol, your users have the ability to join massive rooms hosted on other Matrix instances. This can very quickly start taxing your CPU and RAM. Similar problems exist for Mastodon; these federated services actually require quite a bit more computing power than might be expected if you take advantage of federation.

      I run Matrix on an EC2 t2.micro instance and if I try to join any big rooms on matrix.org my server slows to a crawl.

      3 votes
      1. smores
        Link Parent
        Ah, that’s a good point. I host a Matrix Server as well, but basically only use it for small private group threads. This use case is definitely worth considering.

        Ah, that’s a good point. I host a Matrix Server as well, but basically only use it for small private group threads. This use case is definitely worth considering.

        1 vote
    2. Akir
      Link Parent
      The Raspberry Pi models starting with version 3 have been pretty power-hungry; there's a good chance you probably didn't have one that was powerful enough.

      The Raspberry Pi models starting with version 3 have been pretty power-hungry; there's a good chance you probably didn't have one that was powerful enough.

      2 votes
  2. Eabryt
    Link
    I just set up a pi hole last weekend using a Raspberry Pi (B+ I believe?) and it's functioning great. That said I'm not sure how much added strain Matrix/Riot would add.

    I just set up a pi hole last weekend using a Raspberry Pi (B+ I believe?) and it's functioning great. That said I'm not sure how much added strain Matrix/Riot would add.

    4 votes
  3. [3]
    9000
    Link
    So, a Pi-Hole is a great choice, and very easy to implement! It has a lot of great documentation, and I highly recommend it. On the Matrix front, I would hesitate a little. First, the main server...

    So, a Pi-Hole is a great choice, and very easy to implement! It has a lot of great documentation, and I highly recommend it.

    On the Matrix front, I would hesitate a little. First, the main server implementation for Matrix is Synapse, which is known to have performance issues. There are several alternative implementations (notably, Dendrite), but as far as I know, no alternative server implementation is ready to be run full time. Synapse is the only one that is standards compliant, and until that changes, you will have a hard time running a Matrix homeserver on a Raspberry Pi. However, if you have a server with some more power, you could get it running. There are lots of guides online, however, it's still going to be more effort to manage, and manage securely. If you're looking for a fun project to learn a lot, then great! But if you want to have a very secure system for your messaging, you may find Synapse's configuration and upkeep a little complicated to keep very secure, especially as a first time project.

    To answer your other questions, the DSL connection is slow, which isn't great, but it should still run. If I were you, I'd install Riot locally instead of hosting it as a website, then your only bandwidth limitation is the Synapse server. Alternatively, you can get a pretty cheap VPS, but then you no longer own the hardware. I dunno how you feel about that.

    Yes, voice and video should work, but they will require a little configuration (this is not related to your connection speed). And, my understanding is that Matrix calls are peer-to-peer, and only use the server to establish a connection, so your server connection being slow should not hurt you too much here.

    And yes! Your self-hosted account will be able to talk to others! This is what people mean by 'federation'. It's one of the major features of Matrix.

    One final note, if you do self-host Synapse at home, even if the bandwidth is okay for your server, you may find it slowing down the rest of your connection, or your server's performance being very variable depending on what you're doing on your other machines (watching videos, etc.).

    4 votes
    1. [2]
      Comment deleted by author
      Link Parent
      1. 9000
        Link Parent
        I did mean running it as a desktop client, yes. That way, the only requests Riot has to make to your server are for chats, otherwise, it will also have to request all of the HTML, JavaScript, etc,...

        I did mean running it as a desktop client, yes. That way, the only requests Riot has to make to your server are for chats, otherwise, it will also have to request all of the HTML, JavaScript, etc, and potentially make many more calls, which will likely choke more on the 1 mb/s up connection.

        1 vote
    2. blitz
      Link Parent
      When I was trying to convince friends to adopt Matrix I had an easier time to point them to a url that allowed them to talk to me. I ended up hosting it on S3 and CloudFront. It's worth mentioning...

      I'd install Riot locally instead of hosting it as a website

      When I was trying to convince friends to adopt Matrix I had an easier time to point them to a url that allowed them to talk to me. I ended up hosting it on S3 and CloudFront.

      It's worth mentioning that you can use the riot.im web interface to log in to your own homeserver, so you don't really need to host the web interface separately (you can set your own homeserver with the "change" button on the upper right of the login box). Of course, normal security concerns apply: you don't control the javascript on the riot.im server, so it could possibly be replaced with javascript that will spy on you. Whether or not you should be concerned about this depends on your personal threat model.

      1 vote
  4. vord
    Link
    A Raspberry Pi is quite a capable self-hosting option, but I'd recommend an old laptop instead. They're readily available for fairly cheap. Often more powerful than a Pi, but also lower-power than...

    A Raspberry Pi is quite a capable self-hosting option, but I'd recommend an old laptop instead. They're readily available for fairly cheap. Often more powerful than a Pi, but also lower-power than most desktops as well.

    Internet speed should be fine for text and voice communication, but 1mb upstream is a bit low for uploading video streams.

    4 votes
  5. Akir
    Link
    Typically my recommendation is not to do it, especially in the US where internet tends to be bad and ISPs tend to be even worse. There are even ISPs who specifically disallow running your own...

    Typically my recommendation is not to do it, especially in the US where internet tends to be bad and ISPs tend to be even worse. There are even ISPs who specifically disallow running your own servers as part of their TOS.

    But for what you are trying to do so far, you might be OK. The biggest problem is that if you want to do more than text, you'll be dealing with a terribly slow connection. Your 1Mbps upload speed means that you'll only get 1Mbps maximum download speed from anywhere else.

    The other problem you will run into is that you've got a dynamic IP address, which means that the address to access your network will change from time to time. There are two ways to address this: either pay to have a static IP address or pay for a dynamic DNS service which will provide you with a domain name (i.e. example.com) that you can have set up to follow any change of address.

    Finally, some ISPs actually block certain ports on their network specifically to stop you from running your own server. This is easily circumvented by using a different port, but you'll have to remember to use the right port when you try to access your machine.

    3 votes