ejabberd is a free, cross-platform XMPP instant messaging server with an MQTT protocol support and SIP service. It is written in Erlang Programming Language that mainly focuses on dynamic typing. The SIP service lets you run phone systems over the internet as opposed to traditional phone lines.

ejabberd is suitable for small deployments that might not require scalability and also large deployments. It is designed to be rock solid, fault-tolerant, and an infinitely extensible real-time platform.


  • Massively Scalable – can have 2,000,000 users on 1 node.
  • Mordern -Integrates easily woth your applications
  • Manageable – comes with a powerful CLI that allows most controlling of the server
  • Simplifies critical adminisration and key usage statisctics from a customizable management module
  • Fault Tolerant as it runs in a cluster out of box
  • Works with Web
  • Seamless and reliale mobile experience
  • Fully Open source
  • Secure, for example access web via HTTPS
  • Internationalized as it is translated to 25 difefrent languages
  • Modular – Load more than one module

Now we are going to install ejabberd on windows but it misses the binary installers for windows. So, to have it working on Windows we use the Docker Desktop.

Prerequisites: Enable Features

You should have WSL, Virtual machine Platform, and Hyper-V features enabled before you install Docker Desktop.

Go to your window search Menu and look for Turn Windows features on or off

Scroll down to the Hyper-V feature and mark the checkbox next to it. Ensure you expand and also mark the checkbox on both features under the main feature

To enable WSL and Virtual Machine Platform, mark the checkbox next to tehm

Click OK and let the changes be applied. You will be prompted for a restart to apply the changes.

Install Docker Desktop on Windows

First, we have to install docker Desktop. If you have it in your system, You can scroll down to the next part

Navigate to Docker Desktop site to download the product.

After download, Navigate to the file on your Downloads Folder and Install it with administrator rights. It opens a wizard as follwos

It will start with unpacking files as shown below.

After unpacking files, it then proceeds to install the files.

It does not take much time and the installation completes successfully

Click on Close and let the Docker Desktop start running. It will open the License agreement, Go through it and check the checkbox to accept the terms then click Accept.

After that, the docker opens and gives you an option of a quick start guide which you can go through to familiarize yourself with the application.

If you experience an error while trying to start Docker Desktop like ‘Docker Desktop Stopped’ or ‘You do not have enough space to run Docker’ worry not.

Find the settings.json file under C\users\<username>\AppData\Roaming\Docker\settings.json and set the wslEngineEnable to true

Save the file and restart your Docker Desktop. It should now start.

Download ejabberd batch script

This script ejabberd-docker-install.bat downloads an ejabberd docker image and sets up a docker container to run ejabberd. Downloading the script means you copy the contents to your favorite editor and save the file with .bat extension.

I am using the Notepad++ Editor hence I copied the contents there.

Edit the Installation Options

From the script, you can edit where the file will be saved after installation, that is the directory. Example C:\ejabberd. You can also add other details like host, user, version, and at least add a password for the administrator account. Most of these details are pre-filled and will not require you to change unless you want to install them in another directory.

Enter your password and save the file in any directory you want.

Run the Script

Double click on the script to run it. It opens the console window showing you the process of all the installation.

The script will download ejabberd container and install it on the docker desktop and in the directory set in the .bat file. Successful installations shows output as follows

If the script does not install the container or encounters an error, You can delete and copy the contents again then run the script as many times till it installs.

Start ejabberd

Now open the Docker Desktop and you will see the newly created ejabbered container. Click on the ‘Start’ icon

You might be prompted to allow Docker Desktop via the Windows Firewall. Click on Allow Access

Then wait for a few seconds which will now start the container

It will open as above, You can connect to the Web Admin on the browser where you can manage your instances from. Clicking on the icon for Open in Browser will open the container in a Web browser and prompt you for credentials that are in the .bat file. If you changed the username and input a password, that is what you will use to log in to the dashboard.

Once you put in the correct credentials, the dashboard opens

Opening from CLI will open the command prompt as follows. You can run a command to see if it’s status

With CLI, you can use any ejabberd Administration API


In this guide, you have installed Docker Desktop, You have learned how to configure the ejabberd install script to run in Docker. You have installed the ejabberd server in a container. You have learned how to open it in the browser and from the CLI. With that Ejabberd is fully installed and running in your Windows system.

Similar articles:


Please enter your comment!
Please enter your name here