I just did this recently, using the matrix ansible deploy. It was a LOT easier than expected.
Asklemmy
A loosely moderated place to ask open-ended questions
Search asklemmy π
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- !lemmy411@lemmy.ca: a community for finding communities
~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~
Congratulations
If your server open to sign ups? If so, I might consider making an account!
Not yet, and I haven't started advertising it yet or anything.
Thanks for this. I'm gonna read up on the ansible deploy. Most likely for a digital ocean droplet.
I would recommend you rather look at Snikket, which is a really easy to setup and use XMPP server with nice mobile clients. Perfect for a small family server and very easy to setup.
A Matrix home-server is not too difficult to setup either (conduit.rs is easiest IMHO), but in the medium term it is quite server resource intensive to run as it needs a relatively fast server and has an ever increasing database that can easily surpass the SSD storage available on cheaper VPS.
Appreciate your alternative here.
Why is Matrix so resource intensive compared to XMPP ?
Matrix is basically over-engineered for a chat protocol. It uses a very complex git like distributed database with high CPU and RAM demanding merging operation to ensure a consistent state between the participant servers. In addition this data-structure means that a lot of the meta-data (room-state) can never be erased and gets replicated on every server connecting.
XMPP on the other hand is specifically optimized to be highly scalable (proven to work with billions of users) and tries to minimizes the metadata data-sharing between servers (although that could still be improved).
I tried snikket but couldn't get video calls to work unfortunately... Do you know of a good guide that explains how to do set up video calls?
It should work out of the box, but video calls are especially difficult to establish on some mobile phone networks using CG-NAT. Make sure you have the right ports open for STUN/TURN on your server, otherwise maybe ask on the Snikket support chat room?
Thanks. Do you know how to test if a phone network uses CG-NAT?
Basically all do, but some are worse then others. Check if it works when using the same wi-fi connection first.
Yes. Prosody/conversations video + calling works on my wifi & also on wifi to mobile1. But does not work for 'mobile1' to 'mobile2' data.
Thank you. I ended up doing this.
However snikket has some shady funding.
I went for prosody server and set my family up on conversations, blabber, and chatsecure clients. Works great for sending text, pics, videos, voice clips. All e2e encrypted !
As a linux beginner, it was prety easy to setup (provided you have the time). Only issue is with voice/video calls. They use p2p instead of going thru sever, so can't connect well especially on mobile networks behind NAT. Apparently I need to setup up a stun & turn sever.
I have not hosted a Matrix instance before, but I have read quite a bit about it and talked to a few people who do and have. Is it worth the effort? In many cases, it seems not to be. Also it depends on how much effort you think is too much. If installing and running a server for you is easy, then it could be worth it. If you know that your server won't run out of resources, then it is probably worth it.
Matrix is known to be resource-heavy, and it will need an infinitely-growing amount of storage unless you can figure out some way to reset storage. Otherwise, you are most likely to need to look for a way to slow the rate at which the data grows. This could mean things like turning off federation (but this makes it less useful), or strictly limiting how many users your server can have. (Only you? That might be alright.)
For every user on your server who joins a room, your server must keep an entire copy of the room since it was created. Some of the data can be thrown out, but a lot of it can't. To get back the space I believe you would have to part from the room and make sure no one else in your server is joined to it, then I think it would be automatically pruned. So you could, for example, "roll" your rooms by using them for a time, then quitting them and replacing them with brand new ones. (Although if I'm wrong about this, I hope someone will correct me.)
I used to be on a nice federated Matrix server that was public and being run by an ISP, so I thought it would be very dependable. The server worked when it had a small, fast disk (SSD probably). That disk ran out of space quickly, and was replaced by a slow, large disk. Because the new disk was slow, the service crawled to a halt. I then had to migrate back to matrix.org. Disroot is another example; it was a popular federated server, and they were forced to abandon it.
I actually don't see any reason not to use matrix.org unless you just want the experience or know-how. As a hobby, if running a Matrix server brings you joy then absolutely do it.
Personally, what I do is run an XMPP server, and I found it totally to be worth it. Having that also makes bothering to set up Matrix seem like less worth the effort. (But then, why not both?) People can run small XMPP servers that use a miniscule amount of resources. I just checked, and my ejabberd server, which hosts ~7 people and a couple active group chats, is taking up all of 21 megabytes. (I couldn't believe it so I had to check it twice.) It is configured to store all messages and uploads for 30 days, and it's using less storage than it was a couple months ago. (Last time I checked it was more like 40 megs.) Can Matrix do that?
That's amazing. XMPP seems like the way to go.
The only disadvantage to it is that it's not federated like Matrix, right ?
XMPP was federated long before Matrix even existed ;)
Indeed. XMPP servers like prosody or ejabberd can talk to eachother. Quite cool, and simple to setup.
if you get yours friends and family to use your instance, definitely
but make sure it's stable and fast, don't want to give them a bad impression
Matrix use a lot resource for instance, so if you think that you truly need it go try if your server computer will be enough for it, otherwise XMPP is only option for low tech
synapse has gotten better for CPU and memory usage recently, conduit and dendrite are even better as well as for disk usage not really much you can do about that sadly unless you use a S3 bucket as storage instead, if you have fast enough internet
If you want, you can try to give the newly released Conduit Matrix server a try, it's light on resources, so the most basic plan from DigitalOcean, or Vultr would power it just fine.
That said, you'd need to find out how to at least deploy a Docker image onto a server for this to be of any use to you whatsoever.
Haven't heard about conduit. Thanks. Does this also allow for video chats via jitsi like the synapse server?
its released into beta not fully done so theres still a fair few missing features and bugs
I do. But only for myself. I bridge whatsapp with it. Currently using dendrite, not v1.0. So I prefer not to make my family use it.
I have some of my family on an existing instance.
How's your experience with Dendrite? I'm interesting in hearing all the details. A single-user instance sounds easier than a multi-user one. However, why do you prefer that your family not use it?
Because it is still buggy. It is still not 100% compatible with synapse. It is much more lightweight (I think, I haven't tested synapse and I will never do so). I think that there are missing some settings, for example, notifications (I cannot mute notifications and other related) and yesterday I tried to change my display name but my server went crazy and I had to restart it. I'm using monolith mode. Basically it works, but not enough to recommend it to my family.
Ah, Spaces don't work too.
They don't recommend using dendrite for too many people.
For a small group of people definitely worth the effort of setting up your own. Treat it as a learning experience if mistakes are made.
there is this hosting website just to solve this problem. It allows hosting of federated communities just easy as account. I understand this is old question pasting it here for people's reference ;) discord: https://discord.gg/pFpnU5GK3u