Skip to content

Prerequisites

Hardware

Minimal

ServerCPURAMDisk
Applications + databases4 cores16 GB500GB SSD
Model processing (workers)4 cores16 GB120 GB SSD
ServerCPURAMDisk
Applications8 cores32 GB120 GB SSD
Databases8 cores32 GB500 GB SSD
Model processing (workers)16 cores64 GB120 GB SSD

High Availability

For the High availability, the prerequisites are the same as the Recommended configuration with more servers: each server need to have at least two instances.

Software

BIMData.io softwares are distributed with their dependencies in the form of Docker Images. This facilitated the installation but makes it necessary to use a technology capable of running the containers (Docker, Containerd, etc.).

Moreover, here the minimal version for the third party components:

ComponentNeeded Version
Keycloak>=11
Postgres>=11
RabbitMQAMQP 0-9-1

Databases

Five databases are necessary for the proper functioning of our applications:

  • one for the API,
  • one for the platform,
  • one for Connect,
  • one for Keycloak.

One Postgresql extension is necessary: hstore. Our apps will create it when needed, but the Postgresql user needs to have the CREATE permission on the database for that. You can otherwise create it manually.

Security

Firewall

Here are the ports to open for the good communication of all the elements. Each port can be customized and the flow matrix must be adapted if necessary.

SourceProtocolPortDestinationNote
Web-front-endTCP8000API
Web-front-endTCP8000Connect
Web-front-endTCP8000Platform (back)
Web-front-endTCP80Platform (front)
Web-front-endTCP8000Marketplace (back)
Web-front-endTCP8000Marketplace (front)
Web-front-endTCP8080Keycloak
Web-front-endTCP15672RabbitMQAdmin interface
Web-front-endTCP8080Archive
Web-front-endTCP80Documentation
APITCP80 / 443Web-front-end
ConnectTCP80 / 443Web-front-end
Platform (back)TCP80 / 443Web-front-end
Marketplace (back)TCP80 / 443Web-front-end
ArchiveTCP80 / 443Web-front-end
WorkersTCP80 / 443Web-front-end
APITCP5432Postgres
ConnectTCP5432Postgres
KeycloakTCP5432Postgres
Platform (back)TCP5432Postgres
Marketplace (back)TCP5432Postgres
APITCP5672RabbitMQ
WorkersTCP5672RabbitMQ
APITCP587SMTPOptional
ConnectTCP587SMTPOptional
Platform (back)TCP587SMTPOptional
WorkersTCP587SMTPOptional
UsersTCP80 / 443Web-front-end
UsersTCP80 / 443Object StorageOptional
ArchiveTCP80 / 443Object StorageOptional