This document outlines the steps a developer should take to set up a local development environment of OpenCRVS.

OpenCRVS Core source code can be found on GitHub. A companion example configuration; the OpenCRVS resources package for Zambia, can be found on GitHub.

Both OpenCRVS Core and a resources package are required to run OpenCRVS. When you configure OpenCRVS for your country, you will need to duplicate and configure your own resources package.

Preparing for installation#

When you clone the OpenCRVS Core repo, you are downloading:

  • All of our microservices and the mobile, progressive web application as Lerna packages.
  • Docker compose files to run a development environment and deploy OpenCRVS.
  • An Infrastructure folder, containing Ansible setup, OpenHIM configuration, Netdata configuration, Hearth plugins, ElasticSearch configuration, Traefik configuration and a number of essential scripts required to automate deployment, netweorking and backup.

Now, take some time to understand the directory structure. Read more about what all the packages are for here.

Now you are ready to follow the step-by-step development environment installation instructions. At a high level you will be required to:

  • Install some basic dependencies for your workstation.
  • Clone the repo and install some application dependencies.
  • Run a single command to start OpenCRVS Core and the OpenCRVS resources module in Docker on your workstation
  • Install a base configuration for OpenHIM
  • Populate your local Mongo DB with reference data and test users for the Zambia configuration.

If you have any issues, we would love to know so that we can improve our documentation. Please talk to us on Gitter. There is a link at the foot of this page.