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
- Any Linux-based distribution that supports Docker.
- Docker Engine pre-installed and configured.
- Docker Compose recommended.
Hardware Requirements
The following hardware requirements are recommended for optimal evoML performance.
Minimum Requirements
Resource | Minimum Requirement |
---|---|
CPU | 16 Cores x86_64 (amd64) CPU architecture |
Memory | 64 GB of RAM |
Storage | 400 GB (SSD recommended, HDD acceptable) |
Recommended Requirements
Resource | Recommendation |
---|---|
CPU | 64 Cores x86_64 (amd64) CPU architecture |
Memory | 128 GB of RAM |
Storage | 400 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:
Name | Registry | Provider | Version |
---|---|---|---|
MongoDB | Docker Hub | MongoDB | 7.0.6-jammy |
MinIO | Docker Hub | MinIO | RELEASE.2024-02-26T09-33-48Z |
PostgreSQL | Docker Hub | PostgreSQL | 15-alpine |
RabbitMQ | Docker Hub | RabbitMQ | 3.13-management-alpine |
Ray | Docker Hub | Rayproject | 2.9.3-py310-cpu |
API Gateway | Docker Hub | Traefik | v2.11 |
Kafka/Redpanda | Docker Hub | Redpanda | v23.2.26 |
Redis | Docker Hub | Redis | 7-alpine |
API Companion | Docker Hub | Transloadit | 4.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.
- Create a Docker Hub account (if you don't already have one).
- Log in to Docker Hub via the command line:
docker login
- Download the evoML deployment bundle from TurinTech.
- 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
-
Obtain the Deployment Bundle: TurinTech will provide a tar archive containing:
- Docker Compose files (
docker-compose.yml
) - Environment files (
.env
) - Makefile (optional)
- Docker Compose files (
-
Extract the Bundle: Extract the contents of the tar archive:
tar -xvf evoml.tar
cd <extracted directory> -
Log in to the evoML Image Registry: Ensure you are logged into Docker Hub with the credentials provided by TurinTech:
docker login
-
Deploy evoML: Deploy evoML using Docker Compose:
make deploy
# or alternatively:
docker-compose up -d -
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)
-
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
).
- Docker Compose files (
-
Extract the Bundle: Extract the contents of the tar archive:
tar -xvf evoml.tar
cd <extracted directory> -
Load Images to Docker Engine: Load the container images into your local Docker engine:
docker load -i assets/bundle.tar
-
Deploy evoML: Deploy evoML using Docker Compose:
make deploy
# or alternatively:
docker-compose up -d -
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 aMakefile
is not provided, review the included documentation for alternative deployment instructions. - Consult the evoML documentation for post-deployment configuration and usage instructions.