How to install BioMAJ with docker in microservice version?

What are micro services?

Feature is available from version 3.1

BioMAJ was a monolithic application. Goal is to split the application in multiple specialized components. Once split, BioMAJ will still be usable/callable in monolithic mode for single server/local user usage. However, if deployed in micro service mode, all components can be scaled independently to face the load/updates.

For example, it is possible to launch 3 instances of the download component to handle, at maximum 3 parrallel downloads, whatever the number of banks being updated at the same time. All updates will share the same download components, and waiting downloads will simply be queued and dispatched to the components. At any time, components can be scaled up or down with automatic registration.

BioMAJ client can also request update/status etc.. from a remote server with his credentials.

More information here.



Get biomaj-docker

Clone all git repository of biomaj-docker and add ENV variables:

git clone
cd biomaj-docker
echo "BIOMAJ_DIR=/<path_to>/biomaj-docker/" > .env
echo "BIOMAJ_DATA_DIR=/<path_to>/biomaj-docker/biomaj/" >> .env

How to run ftp server in docker? go to the FAQ.

Do not forget to create the directories necessary for BioMAJ (at the location where you want to store the data, do not forget to complete your .env file with the path of your data):

mkdir biomaj 
mkdir biomaj/conf
mkdir biomaj/log
mkdir biomaj/lock
mkdir biomaj/db
mkdir biomaj/process
mkdir biomaj/cache

Run docker-compose (and all services of BioMAJ with it):

docker-compose up -d

Install BioMAJ client

pip install biomaj-cli

You are ready to start, go to Tutorial.

Advanced configuration (metrics, monitoring, administration …)