Setting up Vossibility Stack to Track GitHub Community Contributions

One of the key parts of my job as a Program Manager on the docs.microsoft.com team is to assess community contributions across different documentation repositories and areas. That might appear to be a very complicated task, and as we go, I will document more on the process. This post, however, is dedicated to setting up the core environment to make the task somewhat easy.

Get Vossibility and all dependencies

Vossibility-stack is a product published by Arnaud Porterie of Docker. To get started, simply clone the repository with all the dependencies. Personally, because I plan on adding some modifications that are specific to my field of work, I forked the repo first and then cloned.

Post-fork, I just used the GitHub Desktop client for Mac to get the bits locally.

GitHub Desktop Client

The stack relies on Docker, so the next obvious step would be to install the Docker Toolbox for Mac.

Configure the local instance

For testing purposes, it’s always helpful to set up the first instance locally, test it and perform all the necessary adjustments, and then deploy it to the cloud.

Next, open /vossibility-stack/collector/examples and change the file extension to .toml – simply strip the .example suffix.

Files in Finder

Open config.toml and set a value for the github_api_token variable. You can get the token in GitHub settings.

GitHub Token

Next, make sure to add the repositories that you would like to track. That is done in the [repositories] node.

Configure Repositories

Save and close the file. Move the configuration files to /vossibility/volumes/collector. Navigate to the Vossibility folder in the Terminal.

Terminal

Make sure to also start the local docker machine. You can do so via docker-machine start default. Once ready, trigger docker-compose build.

Docker Compose Build

Once successful, trigger docker-compose pull. This will pull all required dependencies.

Docker Pull

This can take a couple of minutes depending on the quality of your internet connection and server latency.

Last but not least, trigger docker-compose up.

Docker Compose Up

Wait for the system to bootstrap, and then you will be ready to go, able to access Kibana (the visualization stack) at http://localhost:5601.

In future articles, I will outline the next steps that you can take to actually visualize the inbound repository contribution data.

Important Note – Elastic Search

In case you are running this on a Mac (just like I did) and are running into issues with ElasticSearch not being able to start, try using the native Mac Docker client (at the time of writing this article it is in beta).

Leave a Reply

Your email address will not be published. Required fields are marked *