So I want to setup a messaging server in my home that works like Telegram or Whatsapp - it should use the local network as we plan on moving around a lot of photos and files between our devices for some projects
What should I use? XMPP? Or Matrix? Or is there something else that’s ideal for local networks?
Thanks!
Then it sounds like Matrix is what you want. It can send files just fine and I use it for that all the time.
You may want to set up some kind of cleanup for media storage, as the files would stay on the server even after being sent and received, otherwise, slowly filling it up.
If you have a ton of storage and the files are reasonably small, you might be be fine without that, but look into it, at least.
Matrix doesn’t really work without a public domain name and so on. Maybe this will change in the future with their p2p experiments, but right now it is not a good suggestion for a local only solution.
You could use it with a "local’ domain. Setting it up would be marginally more tricky, but using it not at all.
You can make anything technically work with a local domain…
Obviusly. Is there a downside here beyond it only working locally? Is that not exactly what OP needs? Is there a tool that fits better than matrix?
Matrix has all sorts of hard-coded or at least default configured stuff that needs a internet connection to phone home to the matrix.org servers. The Element web interface will also have issues working due to CORS protection in the browser.
Sure it might end up working sufficiently well, but it really isn’t the right tool for this.
In general the use of a messenger for this is already less than ideal, but a messenger like matrix that is deeply integrated into a federated network and is build on web technology that isn’t ment to be run locally is just a bad idea, sorry to say.
I wouldn’t even recommend XMPP for it, and that is much more self-contained and doesn’t use webtechnology at all.
I don’t recall matrix-synapse needing to talk to any outside systems, unless you federate, generate url previews, or use integrations?
And can’t you just self-host element, too? I do.
Its not strictly needed but everything is build with that assumption in mind and thus there will be many papercuts.
Yes you can self-host Element, but you have to be very careful with the setup to avoid cors issues and I think it will also permanently show a big warning if the connection is not via HTTPS.
Bottom line, it can work, if matrix is what op wants to go with.
As for SLL, without it any browser based thing is going to get you a warning, from the browser itself, at least.