Skip to content
A full blown XMPP server based on with modules
Find file
New pull request
Pull request Compare This branch is 3 commits behind superfeedr:master.
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A full XMPP server using node-xmpp, with some modules. Feel free to fork this and configure all the modules you need in server.js This server uses Redis as its datastore.


Beware : this project is really early stage... There are a lot of things to fix :) Install it for fun or for help... but probably not for profit just yet!

  1. First, you need nodejs installed. Pre-compiled packages exist for Unix (Linux, BSD, Mac OS X) as explained in these instructions. Skip to 2. if you already have a working Node.JS environment.

  2. Then, you need npm installed. As in step 1, follow these instructions or skip to 3.

  3. Install redis (used to store the data). apt-get install redis-server should work just fine on most Ubuntus and Debians. On MacOS X redis can be installed e.g. with Homebrew: brew install redis

  4. Install xmpp-server, finally. With package manager npm:

npm install -g xmpp-server


TODO : automate this with a script that asks the right questions to the user when starting.

First, create a config file and place it at /etc/xmpp-server/config.js that includes the following (tls support is optional. You can follow the instructions there to create the key and certificate, and then uncomment the tls lines.):

    exports.config = {
        port: 5222, 
        domain: 'localhost',
        //tls: {
        //    keyPath: '/etc/xmpp-server/tls/localhost-key.pem',
        //    certPath: '/etc/xmpp-server/tls/localhost-cert.pem'

Then, run the server:

xmpp-server /etc/xmpp-server/config.js


There is a server running at You can certainly create an account there, but don't leave any valuable belongings as they will be trashed every couple hours :)


  • In-band registration
  • C2S
  • TLS
  • Digets Auth
  • Roster
  • Presence
  • Pass on global configuration to modules.


Something went wrong with that request. Please try again.