@celia Good timing to ask this question, I'm looking to install a web chat this weekend, and I was thinking XMPP is the way to go but also know nothing about XMPP.
@celia both are based on the same software (Snikket uses Prosody), but Snikket is preconfigured and includes extras such as a TURN service to make audio/video calls work out of the box.
Snikket is good if you're new to #XMPP and want something that just works with no fuss. Prosody is better if you want to learn a bit about XMPP and have full control over... just about everything.
I'm a developer of both projects, so happy to answer any questions. See also this thread yesterday: https://mastodon.technology/@mattj/105583644796744755
@mattj Oh hi! Fancy seeing you here. I *just* donated a bit of money to you recently for Snikket a few days ago. Couldn't do much, but I suppose everything counts. :)
From your description, I'm tempted to go with Snikket. 😁
@celia let me know how it goes!
Thanks for the donation, very much appreciated! I'm pouring a lot of time into this project and really hoping I can make it sustainable!
I freed my own family from WhatsApp last year and I really believe in helping others to do the same.
Working towards some big milestones in the coming weeks... 🙂
@mattj Oh noes. There's a note on the install guide that says this won't work if port 80 is not free. I'm assuming I can't run it behind a reverse proxy for the time being? :(
Also, thank you so much for even putting this together lol. I really dig what you're doing and will be happy to donate a bit more money when I can down the line. Huge fan of fuss-free projects. 😊
@mattj I'm wondering if it's possible to map port 80 to 6000, then have port 80 and 443 open on a subdomain (chat.example.com)... basically what I do for everything else. That's still port 80 open and available, except on a subdomain. But I wonder if it's not going to work...
@celia that should be fine if you set the options to override ports in that document, and set the Snikket domain to the subdomain.
The reason port 80 is required is because Snikket needs to fetch certificates (having those handled by a reverse proxy isn't enough because we need them for XMPP connections too). Let's Encrypt will only connect to port 80 when validating certificate requests. But your reverse proxy should be able to route these based on the subdomain (linked doc has example configs for that).
@celia it should be possible to get it working behind a reverse proxy, I added some docs here: https://github.com/snikket-im/snikket-server/blob/master/docs/advanced/reverse_proxy.md
At some point these will transition to a docs section on the main site, but I want to get them tested a bit more first. Hope it helps :)
@xoxys Is it easy to set up and maintain? I did check them out earlier, but their website looks intimidating as a newbie.
@celia Well my initial setup experience with prosody wasn't that great as the lua stuff feels a bit unfamiliar to me. But maintenance effort for the final setup was quite low.
@celia Nah, my instance is not even using 200mb of ram, and sits there with less than 100mb of storage!
To be fair, I'm not sending a ton of images and try to stay away from crowded groups, but still, it's very reasonable.
@celia I run Prosody on my Pi. Works nicely. I have also tried ejabberd and that stopped working for some reason. Prosody has been running smoothly since installation.
@celia I am running synapse server, it is surprisingly working well and the memory utilisation stays under 250mb, I have yet to see how much disk space it will take.
Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.