Data is the biggest thing out there right now. More than ever, businesses need data not only to grow, but to survive. However, data by itself isn’t enough. We need to present data in a way that allows for valuable insights to be gained. One way of achieving such purpose is to make use of a visualization dashboard.

Generally speaking, visualizations of data are the most accessible, as any user, technical or not, can gain insights from them. Unfortunately, most commercial visualization dashboards are unaffordable for small businesses.

In today’s post we will be focusing on open source dashboards. There’s many of them. A few that deserve mention are are Metabase, Dashing, Keen Dashboard, Freeboard, and Mozaik. Our focus will be on Mozaik. We will show you how to set it up in a CentOS 7 server.

Mozaik is an open source dashboard and is relatively new, having launched in December of 2014. It is a tool based on NodeJS and React, and it provides beautiful dashboards that are easy to craft. It is modularly designed which makes it extendable and customizable. Overall, Mozaik is a powerful and flexible choice for a dashboard.

With Mozaik, it’s very easy to add widgets for different data sources. There are pre-built widgets to access Github, Travis, Google Analytics, Twitter, AWS, and ElasticSearch, among many others. In case you want to customize and build your own widget, you can add it using React and d3.

Some other Mozaik features include:

  • Scalable layout – Mozaik dashboards support multiple devices through its adaptive layout. You can either put your dashboard on a big screen in the open space or consult it on your smartphone
  • Themes support – Mozaik dashboard comes with 6 themes and makes it easy to develop your own theme
  • Extendable by modules – Mozaik widgets are maintained as separate modules, thus available via mozaik-ext-<name> in npm.js
  • Grid positioning – Mozaik provides a simple way to define your dashboard layout using a grid system
  • Optimized backend communication – Most extensions need to communicate with APIs. Mozaik eases this by providing a backend, which handles API calls and pushes data to widgets through WebSockets
  • Multi Dashboard Support – Sometimes, a single dashboard is not enough. Mozaïk allows multiple dashboards with no issue.

Let’s now move onto setting up of Mozaik in a CentOS 7 server. We will be using Mozaik v1.

First clone the repository using command- git clone https://github.com/plouc/mozaik-demo.git as shown below-


Once the cloning is complete, you can see a screen similar to the one shown below-

Clone complete

Next, we need Node.js to be installed in the server. In case you do not have Node.js already, then execute the following commands-

  • wget http://nodejs.org/dist/v0.10.30/node-v0.10.30.tar.gz. 



  • Extract the archive using command- tar xzvf node-v* && cd node-v*

  • Next, in case you do not have gcc/g++ compiler then use command- sudo yum install gcc gcc-c++

  • Post this fire commands ./configure and make as shown below. This will configure and compile the software. This will take some time to finish.Configure
  • Once this is completed, you will be able to see on the console the following messages-FInished compliling
  • Now you can install it using the command- sudo make install. Once this is complete you can check the version of node.js, using the command- node –versionInstall
    node version

This completes the installation of Node.js. Now change location using cd mozaik-demo and use command– npm install. This will take a while to complete.


If for some reason the install command fails, the asset generation should be skipped, you can re-run it with command- npm run build

Finally, run the app using command- node app.js, as shown below-

node api


With this, we have completed the setup of Mozaik in CentOS 7.