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.