This summary should give you a detailed setup description for initiating the OpenCTI setup environment necessary for developing on the OpenCTI platform, a client library or the connectors.

This page document how to setting up an "All-in-One" development ****environment for OpenCTI. Everything was done on a virtual machine (Virtualbox VM - 16 vCPU / 20Gb RAM) which contains:



Installation of dependencies (Ubuntu 20.04)

If you are on a version of Debian/Ubuntu prior to 20, please refer to this GIthub issue.

$ sudo apt-get install docker docker-compose curl nodejs python3 python3-pip
$ sudo curl -sS <> | sudo apt-key add -
$ sudo echo "deb <> stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt-get update && sudo apt-get install yarn

Docker stack

As OpenCTI has a dependency to ElasticSearch, you have to set the vm.max_map_count before running the containers, as mentioned in the ElasticSearch documentation.

$ sudo sysctl -w vm.max_map_count=262144

Clone the latest version of the dev docker compose and start

$ git clone <>
$ cd docker
$ docker-compose -f ./docker-compose-dev.yml up -d

Clone the project

Depending on the part of OpenCTI to which you want to contribute, fork and clone the appropriate git repository or just clone repos

Example with the opencti repository:

git clone
cd ~/opencti
git remote add upstream <>

git clone <>
git clone <>
git clone <>

Application dependencies