3.1.1 Install the required dependencies

Install dependencies locally

OpenSource software is required to be installed on your local machine in order to run OpenCRVS. Ensure you have satisfied all of the following requirements before continuing:
  • Operation system: Linux or Unix operating system is required: OpenCRVS has been tested on Ubuntu 20.04.3, Mac OSX BigSur & Mac OSX Monterey: If you do not have Ubuntu or MacOSX, install a virtual Ubuntu environment on your computer and use that environment to continue.
  • Admin rights: You must have admin rights over your computer and a sudo password
  • Git: You must have a Git account and Git software
  • Disk space and RAM: A minimum of 20GB of hard drive space must be available and at least 8GB - 16GB of RAM. At least 2CPU Cores and 16GB RAM ensure the best experience avoiding any start up errors with ElasticSearch. If you are using virtualisation, ensure this is dedicated to the environment.
  • Docker: On Ubuntu, install Docker & Docker Compose. On Mac, install Docker for Mac. On Mac, in Docker for Mac preferences, assign 4 CPUs, at least 8GB Memory or more, Swap 4GB and 4 CPUs if your system allows. Elastic search needs a lot of memory to run. On Ubuntu we set enough RAM automatically. OpenCRVS has been tested on Docker version 20.10.11 and docker-compose version 1.29.2
  • NodeJS: Install Node using the Node Version Manager. This tutorial: is quite good compared to the official documentation which is a little hard to follow. Node versions v14.18.1+ are required. OpenCRVS has not been tested on newer versions of Node and you may experience issues if you are using an untested Node version.
  • Yarn: Install the Yarn Package Manager for Node
  • Chrome: Install Google Chrome. OpenCRVS is a progressive web application and PWA's work best in Chrome.
  • tmux: Install tmux. Multiple terminal windows are required to run OpenCRVS Core alongside the default country configuration. On Ubuntu run: sudo apt-get install tmux to install. On Mac, you can install tmux using Homebrew or MacPorts.