Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build status

Build status of master branch

Build Status

Build status of the develop branch

Build Status


Install documentation is at

Realtime connection

A websocket (using the xmpp-ftw interface can be found at $server/scripts/buddycloud.js. This exposes a global object called Buddycloud which you can instantiate to give you a websocket connection.

Please see for more information on using this connection.


There is a docker image available for the API server. Configuration is currently passed via environment variables:

Configuration Example Description Required or default
XMPP_DOMAIN The XMPP domain for your server
XMPP_HOST The hostname or IP of your XMPP server
CHANNEL_COMPONENT The channel server component address
ANONYMOUS_COMPONENT An 'anonymous' component which can be used for open nodes null
MEDIA_ENDPOINT The endpoint for a media server null
PUSHER_COMPONENT The location of a pusher component null
FRIENDFINDER_COMPONENT The location of a friend finder component null
SEARCH_COMPONENT The location of a search component null
DISABLE_WEBSOCKET 0 Whether to disable the XMPP-FTW endpoint false
DEBUG 1 Whether to write additional debug to the logs false

Then simply launch the API server with the required environment variables as follows:

docker run -d -p 9123:9123 -e ..... buddycloud/api-server


Please log any issues at


For developing please see the config file named config.js.developer-example.

License and copyright

This code is Apache 2 licensed and copyright buddycloud.