Kaiwa, modern XMPP web client

kaiwa_logoIt has been already a month without an article…I’ve been very busy and did not find an app that picked my interest until today.

Kaiwa, is a modern and opensource XMPP web client that deserve its article!

You know, XMPP the protocol, alias Jabber.Probably less and less people are using it now (I still do).

When you want to install a XMPP server, you usually install Prosody, or Ejabberd or OpenFire and probably you install Jappix, if you want a web interface. (That will deserve its own article). Or you probably just go for Slack and others popular alternatives?

But I found a recent web client, called Kaiwa. It’s actually a fork of Otalk and have all you need to manage your chat.

Very complete, Kaiwa includes a rooms management, archives, private messages, user management, multiple clients, notifications, avatar, embedded objects, etc… all the needed features for a simple chat.

However, XMPP have been heavily challenged on several points compared to recent commercial solutions. Good news is, most of them have been solved through extensions to the protocol (Called XEPs). Kaiwa, fortunately support them all and allow you a greater experience such as, “Message History Syncing” across devices, “Active Chat Syncing” to make sure you will not have any sync error when using several clients at the same time, improved connection, “Message Correction” to edit your messages afterwards, etc…
Easy to install, Kaiwa will provide you a great experience, similar or better to proprietary alternatives.Kaiwa main pageReady to give it shot? Here is how to install Kaiwa on Debian / Ubuntu style of distribution.



Obviously, you need first to have a XMPP server. This tutorial will not cover this part.


1) Install uuid-dev and libldap2-dev

Uuid-dev and libldap2-dev are needed to have Kaiwa fully operational. In root (or with sudo in front), run:

apt-get install uuid-dev libldap2-dev
2) Clone their latest Git repository

Still in root:

cd /var/www
git clone https://github.com/digicoop/kaiwa.git


3) Install NodeJS and NPM

– If you use Ubuntu, simple run (as root)

apt-get install nodejs npm

– For Debian users (Still on Wheezy? if different, just adapt), you can install nodejs from wheezy-backports. If you don’t have them in your source.list, you will need to add the line

deb http://http.debian.net/debian wheezy-backports main

to your /etc/apt/source.list file, then run

apt-get update

to update the packages list and then install nodejs with the following command:

apt-get install nodejs nodejs-legacy curl

and for npm, you can use the installer (still in root)

curl https://www.npmjs.com/install.sh | sh
4) Install all dependencies using NPM
cd kaiwa
npm install


5) Launch Kaiwa
node server

Kaiwa should now be accessible from http://YourIP:8000/

Kaiwa XMPP login

You can change the default configuration (port, domain, XMPP server,…) inside the file called dev_config.json.

You should now have a working Kaiwa instance.

If you have any question, feel free to ask them here or directly on their issue tracker.


Loves to discover web-based apps to install on his own server@home and write articles about it


Add a comment