Install JSXC JavaScript XMPP Chat on Nextcloud

This installation guide is tested with Nextcloud 11, 12 and 13 on Ubuntu 16.04.

First, install the jabber daemon (ejabberd) and Coturn.

netstat -pta | grep xmpp
tcp6   0   0 [::]:xmpp-client    [::]:*        LISTEN      1731/beam
tcp6   0   0 [::]:xmpp-server    [::]:*        LISTEN      1731/beam
tcp6   0   0 [::]:xmpp-bosh      [::]:*        LISTEN      1731/beam

Setup BOSH URL

<VirtualHost *:443>
    ProxyPass        /http-bind/ http://localhost:5280/http-bind/
    ProxyPassReverse /http-bind/ http://localhost:5280/http-bind/
</VirtualHost>

Install JSXC JavaScript XMPP Chat

of the Nextcloud app store: apps.nextcloud.com/apps/ojsxc

The current version as of writing this article is 3.3.2.

Configure the app

Go to the Nextcloud admin page and fill in the server type, your XMPP domain, BOSH URL, XMPP resource, STUN server, turn secret and click on save settings. Logout and login again.

Server type

Basic settings

The BOSH URL (Bidirectional-streams Over Synchronous HTTP) is

https://your.nextcloud-instance.xx/http-bind/

Leave the external authentication settings as they are

STUN Server

is stun:stun.domain.xx which is configured in the Coturn setup.

TURN Secret

Use the turn secret of the Spreed.ME installation.

grep turnSecret /etc/spreed/webrtc.conf
583bAAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEFFFFFFFFF

Save, logout and login again.

Congratulations!

You have successfully installed and configured JavaScript XMPP Chat.

Have fun!