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?
- XMPP most definitely! Especially if you want to have connectivity to other servers at all (like simplex). It’s much simpler, more well-known, battle hardened, and still supports E2EE and video calling very well. - I recommend prosody. I recently went through the process of setting up a server and have a draft blog on it half way finished if you want an account of the experience. - EDIT: Blog post is live at https://roguesecurity.dev/blog/xmpp - +1 for XMPP - I’m also hoping to self-host Prosidy (when I get a spare evening / weekend), so if you could post your notes that would be good. - There are some good notes on the Arch Wiki if that helps - Arch wiki never fails to deliver! 
- Here’s the blog post: https://roguesecurity.dev/blog/xmpp - Nice breakdown - +1 for including the word “behoove” in your blog - 😆 +1 for reading enough to see that! Thank you! - I’m one of those people that ends up using the vocabulary I once learned to get the most value out of it. Would hate to waste all that. Haha. 
 
 
 
 
- 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…)
 - I have gone down the matrix rabbit hole but i choose Continuwity, which is the successor to Conduwuit after the community drama. - It’s a rust server alternative to synapse, it’s lightweight and works very well. - Fuck synapse, it’s a colossal pain for small servers, not worth it. I also actively avoid anything related to the company behind it since I think they poison what matrix could be. - I wish I started with XMPP, but now I am selfhosted on matrix, so. - Lol, exact same situation here. - Quick question, did the migration to continuwuity break calls for you as well? - Never used calls… 
 
 
- 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_portaland- snikket_server. All four of these images bind to the host but if I am supplying my own reverse proxy then both- snikket_proxyand- snikket_certsare 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 to- snikket_serverthat’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 
 
- I’m self hosting matrix and its great 
- 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. 
 
 
 
- 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 
 
 
 
- Just updated my original comment, but that XMPP blog post I mentioned is live: https://roguesecurity.dev/blog/xmpp 
- 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. 
- 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 
- If you are into text based chat with lot channels & topics and the ability to move discussion into a topic, i would recommend zulip. I find it better than Matrix. - you can try the zulip chat of piefed : https://chat.piefed.social/ - Mind it doesn’t support visio chat. 
- @gedaliyah maybe @delta could be interesting. I found the quite intuitive and well documented. Only thing missing is out-of-the-box calls and video chat. You need a webrtc capable instance for that, I believe. - @stormii @gedaliyah stay tuned :) directly integrated calls are in development currently, next releases are to come with experimental support. - @delta @gedaliyah That’s awesome! I’m looking forward to it! 
 
 
- 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. 
 














