Fast and dirty install of Converse.js XMPP client as a replacement of Jappix



Since there isn’t an app to install via github like “conversejs_ynh”… I done a couple of roundabouts to solve the need of a xmpp client bypassing the old and unsupported jappix.

First, I already have a XMPP redirection for http-bind working.

Create/install an app “custom webpage”

Literally copycat (in the plagiarism sense of the word) the web even the folder structure.

The only thing that I changed from the original converse.html was the http-bind address to prevent overloading unnecessarily the creator’s http-bind, and by the way, the name of the file to index.html

Absolutely JUST THAT. Nothing more… and WORKS!!!

I feel so bad, for such a copy/paste technic, but solve the problem…

Anyother one tried?


Nice explanation!
Can you tell how you did http-bind?


Sure… install an app call redirect… in fact… I did it with thanks to this post:


I forgot that I myself had given solution for it.


Nope… thanks to you… that already solved me half the problem… now I’m fighting to prevent using the CDN they use, in one hand to completely host the web client, and in other hand not to abuse CDN traffic.

Aaaaaand… it’s done…

There specify witch data need to be copied. Don’t forget the css/webfonts folder… is for the icons… the sounds folder… blah blah blah… everything available in the github.

Works …


If anyone need it… here goes a link to the real files loaded… (PLEASE NOT TO ABUSE MY HTTP-BIND) :yum:


Do you have jappix-mini like solution?


Once you have converse.js done… is just change the initialization script…

Just not to use fullscreen, but overlay instead.



J’ai voulu tester, mais il doit y avoir quelque chose qui m’échappe.

Voilà ce que j’ai fait:

  1. initialisation webapp_custom

  2. install converse (root) dans /var/www/my_webapp/www:


mv index.html index.html.bup

unzip download

mv converse-js-modded/* ./ && rmdir converse-js-modded

sed -i.bup -e '/bosh_service_url/ s/https:\/\/\/\/' index.html

chown -R webapp1:webapp1 *

Quand je rentre mes identifiants sur la page d’accueil de converse, rien ne se passe.

Avez-vous une idée ?


I wanted to test it, but there must be something I don’t understand.

That’s what I did:

  1. webapp_custom initialization

  2. install converse (root) in /var/www/my_webapp/www:


mv index.html index.html.bup

unzip download

mv converse-js-modded/* ./ && rmdir converse-j-modded

sed -i.bup -e '/bosh_service_url/ s/https:\/\//\/\/' index.html

chown -R webapp1:webapp1 *


When I enter my login details on the converse homepage, nothing happens.

Do you have any idea?


Nope, absolutely no idea. Change the httd-bind address to test… did your http-bind worked with jappix?


Jappix à toujours fonctionner sans que j’aie à modifier des fichiers à la main.
Je ne sais pas où regarder pour trouver de l’information.

J’ai testé avec ‘’ et cela fonctionne. Mais pas avec mon nom de domaine. Pour info c’est un

Jappix a always work without having to modify files by hand.
I don’t know where to look for information.

I tested with ‘’ and it works. But not with my domain name. For the record, it’s a


I’ve considering packaging Converse since a long time, but I didn’t manage to find time to package it. I hope we will have a package soon.


I’ll love to see it packaged, cos it will be automatically updated, and could pack the converse.js and the xmpp http-bind in a whole app. What I did was something dirty, unreliable, fast and uncomfortable… but works. If that solve the problem for someone… I’m happy.


Nowhere nobody said it hurts… but you are loading work in an external server that connects again to your server… it’s like another step that degrades security and speed. I don’t know if you need to reinstall or rework the http-bind, but sounds like that.


Oui, passer par un serveur externe est une mauvaise chose et va à l’encontre des objectifs de l’autohébergement.

Je ne comprends pas clairement les tenant et aboutissant de HTTP-bind, mais j’imagine que cela permet de mettre en relation converse.js et le serveur BOSH !?

Si c’est ça, cela veut surement dire que le service BOSH est accessible via un port externe du serveur ?

Bref, le HTTP-bind n’est pas une chose que je maitrise.

Je serai ravi de voir un package arrivé pour cette webapp. Je ne sais pas faire du packaging, mais si je peux aider ce sera avec plaisir.

Yes, going through an external server is a bad thing and goes against the objectives of self-hosting.

I don’t clearly understand the ins and outs of HTTP-bind, but I guess it allows to connect converse.js and the BOSH server!

If that’s the case, it probably means that the BOSH service is accessible via an external port on the server?

In short, HTTP-bind is not something I master.

I will be happy to see a package arrived for this webapp. I don’t know how to make packaging, but if I can help it will be a pleasure.


Hello @bjarkan,

I’m trying to package Converse for Yunohost and I’am stuck on the proxy/BOSH part.
I would like to avoid using in the first time and put everything in a single app.

Do you mind sharing the file again? And sharing your nginx file and setup (subfolder or root)?