Prosody + Converse.js
-
Ok, certificates are in place (thanks @girish) so now jabber-app is in a useable state with server-to-server communication, AND mutli-user chatrooms support.
One problem is that when we limit MUC room creation to local users only (so random people off the internet won't be able to create public rooms on your conference.example.com) - prosody expects your local JIDs to be user@example.com, not user@chat.example.com.
I have side-stepped this by defaulting jabber-app's conference subdomain to conference.chat.example.com, and not conference.example.com. So it's possible misconfiguration by the end user will result in the MUC component not being functional.
Another problem is, I would like to be able to use cloudron's apex domain as my JID host (syn@example.com, not syn@chat.example.com)
That requires 2 things:
- DNS management to add SRV records (we can probably have the users manually do that with a generated instruction)
- Access to the TLS certificate for apex domain
- alternatively, TLS-proxied ports 5223/5270, although I'm not certain what is the state of Direct TLS adoption among clients/server implementations these days
then a small patch for
prosofy.cfg.lua
should enable those upper-level VirtualHosts, and it's done. -
@murgero said in Prosody + Converse.js:
Snikket
+1
It's also written by the same person who is main Prosody dev too.
Upvote here: https://forum.cloudron.io/post/23291
-
@murgero the blockers for my dream-world Jabber app on Cloudron are not related to configuring prosody. It's done already and I for one am using the current jabber-app daily.
The remaining issues are related to lack of interfaces to editing DNS (SRV, TXT) records from inside cloudron apps. That is going to affect any XMPP implementation.
I appreciate your feedback, but please look into the actual limitations instead of jumping to between shiny end-user brandings.
-
@syn said in Prosody + Converse.js:
It's done already and I for one am using the current jabber-app daily.
What Jabber app?
-
@jdaviescoates as I posted on 18 Jul 2018, 20:23:
I have packaged this as https://git.cloudron.io/synchrone/jabber-app
-
@murgero If you want to use JIDs like murgero@chat.example.com - no special instructions, it works as is.
If you want your JID to be murgero@example.com - currently you must choose example.com as cloudron app domain, otherwise it won't work.
XMPP allows you to have JIDs on a different server than where A-record is pointing to, see https://www.rfc-editor.org/rfc/rfc6120#section-3.2.1
Notice that the server must present a valid CA-trusted TLS certificate for example.com in this set up, not it's own chat.example.com.
Currently prosody.cfg.lua is not set up to handle other domains except the one that the app is installed as. For me it does not make sense to implement the config handling unless I have a way to provide no-manual-actions experience.
Feel free to contribute though.
-
@syn Gotcha, for a lot of users, domain will matter. Hopefully cloudron will allow more cert access for first level domains. I'd love to test this out as well.
You use converse.js for this, have you looked into movim at all for a front end too?
-
@syn said in Prosody + Converse.js:
@girish I consider this app ready for Beta submission to cloudron app store.
sounds great, I may have missed it, but where is the code?
-
@jdaviescoates said in Prosody + Converse.js:
@syn said in Prosody + Converse.js:
@girish I consider this app ready for Beta submission to cloudron app store.
sounds great, I may have missed it, but where is the code?
scroll up bud, you've asked this before