Skip to content
Snippets Groups Projects

International Close Non-Matches Library - ICNML

This GIT repository is the main repository to build all the parts of ICNML.

All parts are assembled using GIT submodules (web application and all the mandatory libraries).

The CICD is in charge of building the ICNML application, and make the commits to the configurations repository (https://esc-md-git.unil.ch/ICNML/conf/production). This repository will not deploy to production, but will commit to the correct repositories, triggering the CICD automatic deployment.

This docker-compose file is not designed to be run in development or production mode, but only by the GitLab CICD. The Makefile is not intended to be run manually here for development of production, but only used by the CICD to build and push to staging and production. Check the production GIT module (https://esc-md-git.unil.ch/ICNML/conf/production) to see the production configuration.

To download the entire code-base, go to https://esc-md-git.unil.ch/ICNML/docker and git clone the repository. The download link on gitlab doesn't sync the submodules needed to build the ICNML application.

Installation of the development version

To install the development version, clone the docker repository with the --recursive option, create the env file (check the example below) and start all the containers with the docker-compose command. One database should be provided to the script to be able to start; either use a backup of the production database, or create an empty one with the .sql files available in this git repository.

The is a configuration file usable for dev purposes:

DB_URL=pgsql://postgres:icnml@db/icnml
DEBUG=True
ENVTYPE=dev
REDIS_URL=redis://redis:6379/0
REDIS_URL_SHARED=redis://redis:6379/1
SESSION_TIMEOUT=3600

If the database is imported from the production backup, don't forget to import the data and dek backup files. If you don't import the dek file, the ICNML server will start, but the images will not be loadable ("no preview" will be displayed instead).