Finish setting up ejabberd cluster #243
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
For some reason we hadn't documented this when we started setting up the cluster a couple of months ago. We got to the point where we have ejabberd running on both andromeda (the current master) and draco (in a VM, the new cluster node).
However, there is still a problem with HTTP uploads (i.e. posting pictures and other files to chats from clients) failing when connected to the wrong node.
I have asked in the XMPP Service Operators channel, and the common solution to this problem is to use the external uploads feature, where you post to a dedicated service using a lightweight protocol that just requires a secret token for POSTing. The ejabberd HTTP uploads module supports this already.
Behind that POST API, you can then obviously host/replicate/etc. that data in any way you want. As we already use nginx for everything, I think it would be easiest to just set up this Perl module with it:
https://github.com/weiss/ngx_http_upload
Set up ejabberd clusterto Finish setting up ejabberd clusterAnother thing we hadn't considered is how this works with Tor. I guess one of the ejabberd nodes/VMs should be designated a Tor hidden service role, with the privkeys stored in an encrypted data bag. It's enough to connect to just that one from Tor then.