What server should I self-host? or ?

@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.

@nebunez I would have went with Snikket eyes closed if it was not in "early stages."

But also, I don't know enough about it to dismiss it altogether. It does look super interesting: snikket.org/

@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: mastodon.technology/@mattj/105

@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: github.com/snikket-im/snikket-

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 :)

@mattj Oh, thank you! Looks like I'll reserve this for the weekend. If I manage to get things working with , I'll be sure to PR it back to your docs. :)

@celia ah yes, please do... that would be awesome! 😀

@celia Just to give you a third option, there is also #ejabberd Personally I was running a Prosody server back in time without issues but just had a few family members on it.

@xoxys Is it easy to set up and maintain? I did check them out earlier, but their website looks intimidating as a newbie.

@celia @xoxys ejabberd is the orignal xmpp server that was used at jabber. It's got *a lot* of configuration options that would be great if you were an enterprise sysadmin looking to set up a server for your company. For a personal server though, prosody or snikket is probably the better choice.

@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.

@xoxys Just curious... was yours a Docker-based setup or otherwise?

@celia Nope, mine was running on a good old plain linux host 🙂

Dumb Joke 

@garritfra Pls fund/donate server resources. 😂

Dumb Joke 

@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.

Sign in to participate in the conversation

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.