this post was submitted on 22 Apr 2024
19 points (95.2% liked)

Selfhosted

40304 readers
472 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 1 year ago
MODERATORS
 

Hello everyone! I currently selfhost a matrix server but, seeing everyone talking about xmpp, I decided to try again with that one. I did try about 8-9 years ago but couldn't make it work (don't remember the issue, probably pebkac).

My requirements are:

  • e2ee (I see OMEMO is the solution for this);
  • audio/video calls (looks like all the main clients/servers supports this with SIP or similar);
  • whatsapp bridge: this is very important as I currently use my matrix with element to chat (not calls) with all the whatsapp contacts.

Would be nice if the server runs with docker images (but I see Prosody has the option so not an issue).

So basically I am a bit stumped only on the whatsapp bridge thing. I see some github repos for that but they all seem quite old.

Any help, pointers, suggestions would be appreciated.

Thanks!

top 2 comments
sorted by: hot top controversial new old
[–] [email protected] 8 points 7 months ago* (last edited 7 months ago)

As you've mentioned, I highly recommend you look at Prosody for the server. It is by far the easiest, but also really really good. The only thing ejabber might be better at is for extremely large deployments with failover and load balancing.

XMPP doesn't use sip, it has its own protocol for voice and video calls (called Jingles). All servers, afaik, support it. On the other hand, SIP/RTP servers such as FreeSwitch and Asterisk do support Jingle bridging!

OMEMO and GPG support is purely a client side thing, so server support is irrelevant. Though some servers can be configured to refuse to pass unencrypted messages.

With XMPP bridges are usually implemented as external components (a feature built-into the XMPP standard). Slidge franeworm seems to be the latest and greatest in terms of external bridges: https://sr.ht/~nicoco/slidge/ a WhatsApp bridge is built using it: https://git.sr.ht/~nicoco/slidge-whatsapp

[–] [email protected] 2 points 7 months ago* (last edited 7 months ago)

https://slidge.im/slidge-whatsapp/ Is what you want to use for WhatsApp right now. The Slidge gateway framework works best with Prosody currently, however to be honest Prosody's Docker support isn't great, but you can easily install it from a distribution repository.

There is the Prosody "distribution" called Snikket that does have well working containers, but it isn't that easy to get it to work with Slidge currently. But maybe try it out with Snikket first, and if you like the normal use, you can try to recreate a similar setup with vanilla Prosody and the Slidge gateway.