Skip to main content

Docker Deployment

This guide covers the deployment details for a Docker-based deployment of evoML.

Requirements

System Requirements

  • Any Linux-based distribution
  • Pre-installed Docker engine

Hardware Requirements

Minimum Requirements

ResourceMinimum requirement
CPU32 Cores x86_64 (amd64) CPU architecture
MemoryAt least 64GB of RAM
StorageAt least 400 GB (SSD/HDD)
ResourceRecommendation
CPU64 Cores x86_64 (amd64) CPU architecture
MemoryAt least 128GB of RAM
StorageAt least 400 GB (SSD/HDD)

Volume asset requirements

Check that your Docker environment is configured properly

We will provide you a script to ensure that your environment is configured properly.

Accessing evoML images

evoML configuration files are based on multiple docker compose and .env files.

The images that configuration files use are:

  • evoML 20 private image that contains our in-house core components
  • Secondary publicly available services (22 images) that evoML require to operate:
NameRegistryProviderVersion
MongodbDockerMongo7.0.6-jammy
MinioDockerMinioRELEASE.2024-02-26T09-33-48Z
PostgresDockerPostgres15-alpine
RabbitMQDockerRabbitMQ3.13-management-alpine
RayDockerRayproject2.9.3-py310-cpu
API GatewayDockerTraefikv2.11
Kafka/Red pandaDockerRedpandav23.2.26
RedisDockerRedis7-alpine
API CompanionDockerTransloadit4.12.3

The images can be accessed using one of the two options below:

Option 1: Dockerhub private and public images

evoML images are available on Dockerhub, at: https://hub.docker.com/?namespace=turintech

Sign in to your Dockerhub account to access the images.

Deployment quick overview:
  1. Create a Dockerhub account
  2. Download evoML images from Dockerhub
  3. Download the CLI provided with the images
  4. Run the CLI provided with the images on your configured environment (Kubernetes or Docker)

Option 2: AWS

Installation

We support installation of the platform regardless of the connectivity conditions of the target machine.

The following sections describe how to install evoML on docker based machines with internet access and on air-gapped environments.

Machine with access to the internet:

TurinTech shares a single tar bundle via email, sftp, etc., containing: (i) Docker compose files
(ii) .env files (iii) Makefile

The user is expected to:

  1. Untar the bundle tar file tar -xvf evoml.tar
  2. Login to evoML image registry
  3. Deploy evoML make deploy
  4. Create a Super Admin user make create-users

Machine without access to the internet (Air-gapped installation):

  1. We share a single tar bundle (via email, sftp, etc.), containing: (i) Docker compose files
    (ii) .env files (iii) Makefile (iv) All extracted images that evoML requires on a single tar file
  2. Untar the bundle tar file (tar -xvf evoml.tar)
  3. Load images to docker engine docker load –i assets/bundle.tar
  4. Deploy evoML make deploy
  5. Create super admin user make create-users