44
Matrix to XMPP migration (lemmy.nowsci.com)
submitted 21 hours ago by [email protected] to c/[email protected]

Hi all,

I run a private self-hosted Synapse server with bridges for:

  • Signal
  • WhatsApp
  • Doscord
  • IRC
  • Google Voice
  • Custom APIs

I am thinking of switching to XMPP. Can anyone recommend a good Docker-based server and transport combo that I could test out?

all 27 comments
sorted by: hot top new old
[-] [email protected] 3 points 10 hours ago

What's your docker compose for all of that? I would be interested in running that stack.

[-] [email protected] 4 points 16 hours ago* (last edited 16 hours ago)

The Signal gateway has currently issues, due to Signald being broken.

For WhatsApp and Discord there is Slidge.

IRC works great with Biboumi.

I am not aware of a Google voice bridge, but there are ways to bridge to the regular phone network and sms. The easiest is the https://jmp.chat/ service.

[-] [email protected] 1 points 8 hours ago

How is signald broken? I'm using it with Matrix now just fine.

[-] [email protected] 1 points 56 minutes ago

I think you can't connect new devices or so and the development has stalled. But I don't use Signal personally, so not 100% sure. AFAIK the Matrix bridge is currently being rewritten with another backend.

[-] [email protected] 2 points 16 hours ago

@poVoq @fmstrat I ran ejabberd for years before switching to matrix (synapse). Matrix was a disaster, plus jmp.chat is a fantastic google voice / VOIP replacement, so I switched back to xmpp (with prosody). Out of those options, prosody is clearly the best for self-hosting.

[-] [email protected] 1 points 11 hours ago

Since you’ve used both, how do ejabberd and prosody compare to another? I was going to go with the former.

[-] [email protected] 1 points 8 hours ago

Is there a working Signal+Prosody setup?

[-] [email protected] 9 points 21 hours ago

Prosody is probably your best bet. It's modular, easily configurable and is basically fully compliant with the XMPP specification. For your bridges however, I'd reccomend not going fully into XMPP because there are very little bridges available for it. As for dockerization, apparently they are not currently updating their dockerfiles, so this is another thing to take into account.

[-] [email protected] 7 points 20 hours ago

Unfortunately the whole point of my system is bridges/transports. I don't even use Matrix itself, I use it as a centralized messenger.

[-] [email protected] 1 points 18 hours ago
[-] [email protected] 2 points 16 hours ago

Doesn't matter bridge work by "adding a user" to rooms, vs just your user?

[-] [email protected] 1 points 15 hours ago

I haven't actually used it, so I wouldn't know

[-] [email protected] 3 points 18 hours ago
[-] [email protected] 2 points 16 hours ago

Promising, would need to supplement GV and Signal, but this gets me halfway there, thanks.

[-] [email protected] 3 points 20 hours ago

It's distributed through standard package managers, it would be trivial to create a Dockerfile to make your own container.

[-] [email protected] 4 points 20 hours ago

snikket is prosody's little sister. docker ready

[-] [email protected] 2 points 16 hours ago

The Prosody docker images are basically https://snikket.org/ which is developed by one of the Prosody developers.

But Ejabberd also has good Docker containers.

[-] [email protected] 3 points 19 hours ago* (last edited 19 hours ago)

perhaps a stupid question, but are there bridges for XMPP ? My impression is that XMPP is as good as empty (I do use it mainly as a federated service). Is there still a lot of active development on the XMPP side of things?

I do not understand your point with 'you cannot change the URL'. If you use matrix as non-federated and just the only user, what is the problem that you need to change the URL when you need to set up a new server on a new URL? Not being able to change the server at the same URL seems like a logical concequence of authentication, be it for server-to-server communication as for client-to-server communication.

[-] [email protected] 3 points 16 hours ago

Yes they are called "transports".

As for when I tried to change the URL, I was moving all services from publicly resolvable DNS to .lan, and Matrix is an issue because you can't change that after the fact, even if you haven't federated.

[-] [email protected] 1 points 56 minutes ago

HI, Thanks for the info (and also thanks to PoVog).

My experience with mqtt is limited. I once set up a ejabberd server to try it out. It works but -as I mainly interested in federated chat- it was not that interesting. There was a lot less traffic and the rooms that exist that had traffic had a big issue with moderation (i.e. spam content). The S/N ratio of the discussions was a lot less then on matrix or other platforms.

I also notice it was missing some features that are do are present in matrix, like the ability to edit messages. From how I understand it, the modulator nature of XMPP is a nice idea but as there is a large diversity on clients and the features they support, it does seems to come down to only the lowest common domininator to really work well.

As I have just set up a pi5 as my new selfhosting-server, I might give it a try again, and see how well the transports (like slidge as mention by PoVog) work.

Concerning the URL issue, as explained, it kind-of looks like a normal side-effect of the principle of server authentication. Alsom your use-case (one server, one client) it not the normal goal why chat-servers are build. Even in a non-federated use, you have multiple clients connecting to it. Cchanging the server hostname will impact all clients, so is probably a very rare scenario. I did see you use synapse. I do not know if you dendrite or conduit have the same behaviour.

[-] [email protected] 2 points 16 hours ago* (last edited 13 hours ago)

Yes there are gateways (or transports) for xmpp. See for example https://slidge.im/ but there are also a few other projects.

It's maybe a bit less than for Matrix, but the ones that exist tend to work better.

[-] [email protected] 4 points 20 hours ago

I've been considering setting up matrix or xmpp, can I ask what is motivating you to switch?

[-] [email protected] 5 points 20 hours ago

Overall I've been happy with Matrix (private not federated), but it's very convoluted. Whenever anything goes wrong it's really difficult to figure out why, as there is a lot of complexity. And once you set something up, it's really hard if not impossible to make a change.

For instance, since it's built for federation, changing the URL is impossible.

So I'd like to try out XMPP since it's much more lightweight and simple. I may not switch, but want to explore.

[-] [email protected] 2 points 14 hours ago

I'm in this same boat as well. As someone who ran an XMPP server in the past, then stopped and eventually moved onto Matrix. I have to hard agree, in my experiences, XMPP was so much better administration side than having to deal with matrix, and its quite a bit more fleshed out(not to mention the sheer amount of clients available) Being able to just log into a management panel and have the panel do everything administration wise for me was super nice, instead of having to ask "is this only available via the API or is it available via a client or is this config only", these types of tools from what I've seen don't really exist for matrix.

[-] [email protected] 1 points 20 hours ago

I'm looking at tuwunel to setup instead of synapse as soon as it's ready. Still matrix, but maybe better for small instances.

[-] [email protected] 1 points 18 hours ago

Tuwunel had intentions to build a Synapse migration tool, but I haven't heard anything about it since. Was waiting for it so I could bring over profiles and most importantly chat history for myself and my family.

this post was submitted on 20 Jul 2025
44 points (97.8% liked)

Selfhosted

49627 readers
429 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