Hi all,
I run a private self-hosted Synapse server with bridges for:
- Signal
- 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?
What’s your docker compose for all of that? I would be interested in running that stack.
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.
How is signald broken? I’m using it with Matrix now just fine.
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.
Is there a working Signal+Prosody setup?
Since you’ve used both, how do ejabberd and prosody compare to another? I was going to go with the former.
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.
Unfortunately the whole point of my system is bridges/transports. I don’t even use Matrix itself, I use it as a centralized messenger.
Or Slidge
Promising, would need to supplement GV and Signal, but this gets me halfway there, thanks.
Maybe try Matterbridge
Doesn’t matter bridge work by “adding a user” to rooms, vs just your user?
I haven’t actually used it, so I wouldn’t know
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.
It’s distributed through standard package managers, it would be trivial to create a Dockerfile to make your own container.
snikket is prosody’s little sister. docker ready
deleted by creator
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.
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.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.
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.
I’ve been considering setting up matrix or xmpp, can I ask what is motivating you to switch?
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.
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.
I’m looking at tuwunel to setup instead of synapse as soon as it’s ready. Still matrix, but maybe better for small instances.
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.