this post was submitted on 28 Jun 2023
41 points (100.0% liked)

Selfhosted

40407 readers
332 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I want to selfhost a messaging service for my family. It should be secure and have voice calling option, ideally. Thank you.

top 46 comments
sorted by: hot top controversial new old
[–] [email protected] 14 points 1 year ago (1 children)

I host my own matrix instance for my wife, a few friends and I. It has worked great for us. They can either use a web app, or an app on their phone.

[–] [email protected] 3 points 1 year ago (1 children)

Hey , do you have a guide on how to host my own matrix server?

[–] [email protected] 8 points 1 year ago (2 children)

I used the official docker image: https://hub.docker.com/r/matrixdotorg/synapse/

My compose file looks like this: https://pastebin.com/3JYzAPr2

Pretty sure I just followed the instructions there.

[–] [email protected] 3 points 1 year ago (1 children)

how have you secured your server when opening your network to the outside?

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago)

I'm using a cloudflare tunnel for it. I also have crowdsec installed, only allow ssh keys and only from my IP (I have a static from my ISP), and no ports open other than the ones needed.

[–] [email protected] 1 points 1 year ago

Thanks for sharing. Couldn't get it to work but I'll try again with your compose file.

[–] [email protected] 14 points 1 year ago (1 children)

Matrix. With its bridges you can "wire-in" networks like WhatsApp, Slack, Signal, Telegram, Discord, iMessage, SMS, e-mail, ... and have a single app that interacts with them all. You can have a single group chat with users from all those networks participating and no one would be any the wiser.

[–] [email protected] 3 points 1 year ago (1 children)

From my experience (with Dendrite, not synapse, so keep that in mind), bridges create "fake" users to replicate your contacts on these platform as matrix users, and they are visible on the whole instance by all their users (but you might not be able to talk to them). Also, in puppeted mode (which is what you want to "replace" your app with matrix), only a single user can use the bridge at a time, so the other users cannot use it.

[–] [email protected] 1 points 1 year ago (1 children)

This is true but if you're self-hosting it's not that much bother to add additional copies of a bridge for other users (granted, it's not ideal).

[–] [email protected] 1 points 1 year ago (1 children)

Bridges were not that easy to manage in my case (regarding process management, and ease of config deployment/reproductibility). It was on OpenBSD though, so your mileage may vary. And still, it leaks all of your contact informations to the other users of the server (like their phone number eventually), so definitely not suited for public instances.

[–] [email protected] 0 points 1 year ago (1 children)

Leaks contact information to the other users? Can you elaborate on that? I haven't heard anything like that

[–] [email protected] 2 points 1 year ago (1 children)

That's from my own experience. I had a self-hosted matrix server running with Dendrite, and the mautrix-whatsapp bridge running. The bridge was running in puppeted mode, so upon synchronizing contacts, the bridge created "fake" users on the matrix server, one for each of my whatsapp contacts. The matrix username of these contacts is (by default) whatsapp_<phone_number>:domain.tld. And these users are visible (at least) by other users on the same server. It was my own instance and I was the sole user so I didn't really care. But when a friend of mine wanted to try matrix, I created an account for him on the server, and when he joined, he could see all the fake whatsapp/telegram/discord users created by the bridge on the server. And as the default username includes the phone number, he basically had access to my whole phone contact list in real time.

[–] [email protected] 2 points 1 year ago

Very interesting.

https://github.com/matrix-org/synapse/issues/8969 This may be of interest- it's basically the same thing. Seems that before that patch was merged, bridge-created puppet contacts would show up in searches.
Of course that's for Synapse not Dendrite. So it sounds like Dendrite never applied that same functionality.

[–] [email protected] 11 points 1 year ago (2 children)

I'm on Signal (obviously not self hosted) and even if I really wanted to move to another platform be it self hosted or yet another privacy focussed one, I can't ask my friends and family to move to another platform again. I already asked them to move away from WhatsApp, can't do it again..

[–] [email protected] 3 points 1 year ago

💯 this. It took me several years to get most of my friends, co-workers and family to Signal...

[–] [email protected] -2 points 1 year ago

This is what I told most of my friend when they asked me to move to signal. Is is going to be a very shitty company managed by a shitty egocentric person and you are going to regret. But you will make people move and they won't do it again and won't understand the reasons

[–] [email protected] 9 points 1 year ago

Matrix (synapse server) probably fits the bill.

[–] [email protected] 9 points 1 year ago

Also a vote for Matrix and Synapse. Works great and you can decide if you federate or not.

[–] [email protected] 5 points 1 year ago
[–] [email protected] 5 points 1 year ago (1 children)

Just for a family and friends I'd go for xmpp. Matrix is still an enormous greavy piece of software, hard to self host if you don't want to pay for a gigantic server just for it. Also the UI is more like gamer/company chat (discord, slack...), what may not be what your family expect, coming from whatsapp, telegram, or plain sms. In the contrary xmpp is very light and nowadays a lot of tutorial exists on how to configure it, even with voice/video. Plus mobile apps like conversation match the habbits of other messengers.

[–] [email protected] 1 points 1 year ago

This is outdated info. Matrix doesn't need lots of resources these days. "for instance Synapse uses 5-10x less RAM than it used to (my personal federated server is only using 145MB of RAM atm!" - https://matrix.org/blog/2022/08/15/the-matrix-summer-special-2022/#making-it-fast

Host it for free https://paul.totterman.name/posts/free-clouds/ & https://paul.totterman.name/posts/matrix-server-guide/

[–] [email protected] 5 points 1 year ago

We use Rocketchat and love it. Been thinking about moving to Matrix but, at this point I've got my whole family hooked on Rocket

[–] [email protected] 5 points 1 year ago (2 children)

If you're already using Nextcloud, it has a chat w/ video chat as well.

Matrix / Synapse / Element.io is also pretty cool. The UX might not be on par with what some family expects though. I don't know if voice/video chat is built-in yet or not, but it was at least an option before.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)
[–] [email protected] 2 points 1 year ago

Voice / video requires a separate TURN server, IIRC.

[–] [email protected] 4 points 1 year ago

I like Matrix (I mostly use it with my sister) though XMPP might be a good option too if it's just for family.

[–] [email protected] 4 points 1 year ago (1 children)

We use Matrix (Synapse) and it works extremely well. I just wish I could get a STUN/TURN server working...

[–] [email protected] 1 points 1 year ago (1 children)

My family has been using Synapse since before Covid hit, including TURN server (coturn) for audio and video calls. No complaints about the UI so far, except for Element on iPhone reportedly "freezing" for a few moments when sending messages - and that was over a year ago.

What problems do you have getting TURN to work?

[–] [email protected] 1 points 1 year ago

I tried setting up coturn with docker but I can't remember offhand what I had issues with. I am running a reverse proxy (Traefik) with wildcard certs. I should dig into it again. Do you happen to have any pointers or any good guides I could try following?

[–] [email protected] 3 points 1 year ago

Mattermost is really nice. They added voice calling as a beta feature a while ago and it works pretty good so far.

[–] [email protected] 3 points 1 year ago

Since we use Nextcloud, we just use Talk. It works well enough for us, but you should also host a TURN/STUN Server with that.

[–] [email protected] 2 points 1 year ago (1 children)

Another Nextcloud user here. If you setup a Nextcloud server you will see many benefits, with the Talk app being just one of them. Install OnlyOffice and you can even collaboratively edit documents in the web browser similar to Google Docs or o365. I really can't recommend Nextcloud enough. Anyone who is into self hosting should at least give it a try.

[–] [email protected] 0 points 1 year ago (1 children)

I've tried setting it up three times now but I keep getting permission errors before I can even get into it. Is there a good guide to it somewhere?

[–] [email protected] 0 points 1 year ago (1 children)

Try this tutorial if you are on x86 architecture:

https://www.howtoforge.com/how-to-install-nextcloud-on-debian-11/

Are you comfortable installing Linux and using the terminal?

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Edit: nvm this somehow responded to the wrong post.

[–] [email protected] 1 points 1 year ago (1 children)

Nextcloud looks really great and it has a chat / video chat too, I want to give it a spin in the future, as it also allows you to self-host a lot of things that people usually outsource to Microsoft, Google or Apple.

[–] [email protected] 1 points 1 year ago

The video calls in nextcloud are a bit....hard to make work flawless, lol. You also need some amount of ram and cpu in the server.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Did you checkout matrix/element?

[–] Knusbiegel 1 points 1 year ago

DeltaChat works with encrypted e-mails.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Don't listen to all the Matrix fanboys here 😅 It's no fun having to manage the massive server application and the mobile apps pretty much suck.

I would go for https://snikket.org/ which is a lightweight all in one solution based on XMPP specifically designed for what you want.

[–] [email protected] 0 points 1 year ago (1 children)

Matrix works, but it's way harder and more expensive to selfhost than for example XMPP, which can be hosted even on cheapest VPS or first RPi. I would definitely take the cost and "how hard is it to maintain in the long run" into consideration.

Mattermost also works and is pretty easy to selfhost, but it doesn't have federation.

Another option is always an email with delta.chat - I don't think it offers voice calling, but email is one of the most basic services one can host, and many automated solutions to help with that exist.

[–] [email protected] 1 points 1 year ago

The problem of XMPP is not hosting it, it's the clients. Give me one easy-to-use guide to have

  • e2ee text messaging
  • groups
  • audio/video calling

working equally well on desktop, Android and iOS, and I will gladly drop my matrix server.

load more comments
view more: next ›