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?
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 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.
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.
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.
+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!
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 and 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 to 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…
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?
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
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 user, 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.
I’m self hosting matrix and its great
@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!
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.