Skip to main content

Docker Deployment

This guide provides detailed instructions for deploying evoML using Docker. This method is suitable for development environments or smaller-scale deployments.

Requirements

System Requirements

Hardware Requirements

The following hardware requirements are recommended for optimal evoML performance.

Minimum Requirements

ResourceMinimum Requirement
CPU16 Cores x86_64 (amd64) CPU architecture
Memory64 GB of RAM
Storage400 GB (SSD recommended, HDD acceptable)
ResourceRecommendation
CPU64 Cores x86_64 (amd64) CPU architecture
Memory128 GB of RAM
Storage400 GB (SSD recommended, HDD acceptable)

Volume Asset Requirements

(This section will be populated with specific details about volume mounts and persistent data storage. Placeholder for now.)

Docker Environment Validation

Before deploying evoML, ensure that your Docker environment is properly configured. Contact TurinTech support for a validation script and instructions. This script will check for common configuration issues and dependencies.

Accessing evoML Images

evoML's Docker-based deployment relies on a combination of private and publicly available Docker images. Configuration is primarily managed through Docker Compose files and .env files.

The required container images consist of:

  • evoML Core Components: A private image containing the core evoML functionality.
  • Secondary Services: Publicly available images for supporting services required by evoML.

The following table lists the publicly available services and their corresponding image details:

NameRegistryProviderVersion
MongoDBDocker HubMongoDB7.0.6-jammy
MinIODocker HubMinIORELEASE.2024-02-26T09-33-48Z
PostgreSQLDocker HubPostgreSQL15-alpine
RabbitMQDocker HubRabbitMQ3.13-management-alpine
RayDocker HubRayproject2.9.3-py310-cpu
API GatewayDocker HubTraefikv2.11
Kafka/RedpandaDocker HubRedpandav23.2.26
RedisDocker HubRedis7-alpine
API CompanionDocker HubTransloadit4.12.3

These images can be accessed using one of the following methods:

Option 1: Docker Hub

evoML images are available on Docker Hub: https://hub.docker.com/?namespace=turintech. You will need to sign in to your Docker Hub account with credentials provided by TurinTech to access the private evoML image.

Deployment Overview:
  1. Create a Docker Hub account (if you don't already have one).
  2. Log in to Docker Hub via the command line: docker login
  3. Download the evoML deployment bundle from TurinTech.
  4. Follow the installation instructions in the sections below.

Option 2: Private Image Registry (Air-Gapped Environments)

(Placeholder for instructions on how to configure Docker to use a private registry in air-gapped environments. This section would detail pushing/pulling images to the private registry and configuring Docker to pull from that registry.)

Installation

evoML supports installation on Docker-based machines with and without internet access.

Machine with Internet Access

  1. Obtain the Deployment Bundle: TurinTech will provide a tar archive containing:

    • Docker Compose files (docker-compose.yml)
    • Environment files (.env)
    • Makefile (optional)
  2. Extract the Bundle: Extract the contents of the tar archive:

    tar -xvf evoml.tar
    cd <extracted directory>
  3. Log in to the evoML Image Registry: Ensure you are logged into Docker Hub with the credentials provided by TurinTech:

    docker login
  4. Deploy evoML: Deploy evoML using Docker Compose:

    make deploy
    # or alternatively:
    docker-compose up -d
  5. Create a Super Admin User: Create the initial administrator user:

    make create-users
    # or refer to specific instructions within the bundle for manual execution

Machine without Internet Access (Air-Gapped Installation)

  1. Obtain the Deployment Bundle: TurinTech will provide a tar archive containing:

    • Docker Compose files (docker-compose.yml)
    • Environment files (.env)
    • Makefile (optional)
    • A tar archive containing all required container images (assets/bundle.tar).
  2. Extract the Bundle: Extract the contents of the tar archive:

    tar -xvf evoml.tar
    cd <extracted directory>
  3. Load Images to Docker Engine: Load the container images into your local Docker engine:

    docker load -i assets/bundle.tar
  4. Deploy evoML: Deploy evoML using Docker Compose:

    make deploy
    # or alternatively:
    docker-compose up -d
  5. Create a Super Admin User: Create the initial administrator user:

    make create-users
    # or refer to specific instructions within the bundle for manual execution

Important Considerations:

  • Ensure that the .env file is properly configured with the correct environment variables.
  • Refer to the Makefile for specific commands and their usage. If a Makefile is not provided, review the included documentation for alternative deployment instructions.
  • Consult the evoML documentation for post-deployment configuration and usage instructions.