I’m looking into a few different chat servers, probably just for family on my tailnet.
I like the idea that simplex allows video chat. My server is a repurposed optiplex 3060so I think it should be able to handle it. Is anyone doing this? Do you think it’s worth it?
Should I be considering other options like XMPP?
IMO Snikket (XMPP) is the easiest all-in-one solution with audio/video chat at the moment. Pretty good on resources too.
I currently host a Matrix Synapse server, but:
- Matrix seems to be expanding in the corporate / institutional direction, more services are expected for regular functionality
- Element X (upcoming client) breaks calls compatibility with old Element, now requiring Element Call. It’s kind of a mess, I presume this is to support group calls, but makes it a PITA to use currently.
- Even with small number of users, Synapse DB grows in size due to state_groups_state table, non-deletable users, and copying ALL data from other servers’ rooms (this one is by design but still…)
Snikket locked my docker service up, their documentation sucks for when you want to use your own reverse proxy or bind it behind a docker network and not the host.
I haven’t run snikket before, but it looks straightforward to me. Maybe the documentation has improved?
Doesn’t cover Traefik, plus the docker-compose.yml contains 4 separate images and researching into them didn’t provide much info.
snicket_proxy
,snikket_certs
,snikket_portal
andsnikket_server
. All four of these images bind to the host but if I am supplying my own reverse proxy then bothsnikket_proxy
andsnikket_certs
are redundant right? Or do they serve another purpose? And if I wanted to take them off the host network, follow their firewall guide and expose the necessary ports manually behind a docker bridge network what images do I bind those ports to? When I tried binding them all tosnikket_server
that’s when my docker service crashed and I gave up.I see. Yeah, that compose file is gross unless you’re running this on a dedicated vps, and even then…
Thanks! I didn’t know about this and it is from the developers of prosody (currently mentioned in the top reply) so will definitely be trying it! https://blog.prosody.im/introducing-snikket/
Trying Tuwunnel, works very well
XMPP, but also Delta Chat! The Webxdc apps for Delta work in XMPP client Cheogram despite there being no cross-compatibility between the networks. It can access ordinary email servers so long as they were not set up maliciously (Apple, M$, Gmail, etc). It can do a couple things XMPP cannot, but it’s not suitable for anyone outside close friends and family. I basically only use it for email, automation, and other personal matters. XMPP is for general use and can replace Discord. The Movim project looks very cool they have a community here also join their XMPP chat. Cheogram services can connect to the regular phone network.
If you like SimpleX, you can host a server and configure your clients to use that. You don’t use only your server though, so I don’t know if this will satisfy your requirements.
Why not “only”?
Because at least when you use their private routing feature messages go: sender -> custom sender’s server -> custom receiver’s server -> receiver
So unless sender and receiver are configured to use servers under your control, there will be at least one foreign server involved.
To be fair I’m not sure how that works, when you don’t use their private routing feature.
Oh yeah sorry I thought that both ends configured custom self hosted servers. But yeah in the “normal” case the self hosted server is “only” contributing to the network
I mean, XMPP is great, but if you are only interested in private chats with your family in a virtual LAN then it (and Matrix) is probably overkill and a bit of a hassle to configure without a public domain (as that is expected for federation).
Maybe a Nextcloud Talk or a Jitsi Meet instance would be simpler?
Nextcloud Talk ils a great option for families. But if you expect to use the Video Call feature, prepare for a lot of headache. I tried multiple time configuring it, never managed to make it work for longer than one call.
I finally made it work last week. I was overcomplicating, as usual: nextcloud AIO includes all the requirements to run Talk, I just had to modify the config file to point at my domain and add a new entry at :8081 on my reverse proxy. Hosted a 2 hour video call with 3 friends without issues!
Well you are lucky, or they fixed their mess a way or another. I spent at least a full week to try to make it work, to no avail.
matrix using smth like tuwunel or xmpp using prosody could intrest you if you want smth more video zoom only esc you can look into jitsi
Every one always says XMPP and there were a lot of recommendations for ejabberd. I tried this recently and it was a total disaster, I do not have a working chat server. If I followed the docker instructions the server would just crash with no details of what went wrong. Where it should have been creating a default server config file it was instead creating a directory with the wrong permissions then promptly crashing. I tried following their documentation but after about 6 hours of messing about and adding more and more I still couldn’t get a client to login to it. I have no idea how to make this work.
So whatever the solution ultimately is I can’t recommend Ejabberd.
Ejabberd is definitly for more advanced users, but you can usually get help over at joinjabber.org (which has a webclient that you can use without an xmpp account).
But yes, Snikket and Prosody is easier to set up.