Skip to main content

Deployment of the demonstrator Carto4CH

Introduction

This documentation explains how the demonstrator applications are hosted and published.

Technical requirements

Reminder of the general architecture

Reminder of architectureDocumented building blocks
The demonstrator is a functional demonstration cartography.
Its aim is to provide an example of what is expected from the Carto4CH project.

This documentation explains how the demonstrator is hosted and how each of its components works:
  • The two middlewares of the demonstrator (Instance A & Instance B)
  • The 3 applications to cartography the data in each instance
  • The mirror instance
  • The Network visualisation

Docker deployment

Original projectsGit clone + AddOn
Each docker project on Server A or B performs a git clone of the Archipelago-carto4CH (middleware and frontend) or My-competence projects.

It then retrieves specific files from the AddOn directory to customise the colours, title or interoperability parameters.

Deployed bricks

On the Gitlab Huma-Num du projet Carto 4CH > Carto 4CH, you will find all the docker configurations needed to run the demonstrator on the Huma-Num server.

The Docker configuration consists of 11 docker containers.

InfrastructureContainers
Support containers

- Traefik (network management, ports, https, certificates)
- Jena/Fuseki (Triplestore)
- Redis (cache)

Applicatifs containers

Instance A
- Middleware A (data-a)
- BO A
- MY A
Instance B
- Middleware B (data-b)
- BO Serveur B
- MY Serveur B

Miroir instance (C)

Carto 4CH portal

All these containers can be launched with a simple command : make start-prod

This command calls the file docker-compose-prod.yaml, which launches the 11 containers.

The server logs can be viewed using the command: make log-prod.

How application containers work

Principle of operation

Each application container starts by making a clone of one of the Carto 4CH projects (Archipelago or My-competences), then overwrites certain files with a specific configuration for the instance.

A/B/C middleware

The 3 middlewares (data-a, data-b and data-c) clone the Archipelago Carto4CH > middleware, and override the files in the AddOn directory.

In the case of mirroring, the services/mirror.service.js file is added.

A & B Back-office

The 2 back-offices (bo-a and bo-b) clone the Archipelago Carto4CH > frontend, and overload their files by retrieving those in the AddOn directory:

  • "Server A" title
  • colours,
  • interoperability configuration: we are going to allow Server A to see Server B's data and vice versa.

My-competences A & B

The 2 My-competences interfaces (my-a and my-b) clone the My-competences, and overload their files by retrieving those in the AddOn directory:

  • title
  • colours
  • interoperability configuration

Visualisations

The demonstrator offers 3 visualisations:

  • A view of middleware A data
  • A view of middleware B data
  • A view of data from middleware C (mirror) for general viewing.

To find out more, read Network visualisation > demonstrator