Install Dioptra#
This page provides a high-level overview of the Dioptra installation process and the concepts behind its deployment architecture.
Overview#
Installing Dioptra is a process of orchestrating a suite of microservices into a functional environment. Dioptra runs as a collection of interconnected Docker containers that handle different aspects of the system, such as experiment tracking, task execution, and data storage.
Once these containers are active, Dioptra services become accessible through a REST API and a web-based Graphical User Interface (GUI).
The Installation Workflow#
There are two fundamental phases to set-up Dioptra:
Phase 1: Acquire Container Images. You must obtain the Dioptra container images on your local system. These images contain the environment for the REST API, the frontend, and the Dioptra workers. See Get the Container Images.
Phase 2: Create a Deployment. You create a local deployment directory that configures the specific settings, credentials, and hardware allocations for your instance. See Prepare Your Deployment.
Note
The Docker containers and the deployment configurations are decoupled. You can maintain multiple deployments for the same set of images, and both the containers and the deployments can be updated independently as new versions are released.
System Requirements#
Before beginning the installation, ensure your host environment meets the following requirements:
Operating System: A Linux-based environment is recommended.
Docker & Docker Compose: The engine used to manage and run the Dioptra container suite.
Python 3.11+: Required on the host machine to execute the
cruftdeployment template tools.Git: Required by
cruftto clone the Dioptra repository. Users will only need to directly invoke Git commands if they plan to build the containers or if they want to verify the signing key of downloaded images.
Understanding Deployments#
In Dioptra, a Deployment is a specific, configured instance of the software tailored for a particular use case. This architecture allows users to maintain multiple isolated environments on a single host.
Each deployment exists in its own directory and maintains its own:
Credentials: Unique passwords, secret keys, and security certificates.
Configuration: Specific port mappings and hardware resource allocations.
Persistence: Dedicated storage volumes for databases and experiment artifacts.
Flexible Configuration#
Dioptra is designed to be portable, supporting both local workstations and cloud-based environments with multi-user support. The deployment can be customized to meet specific project needs, including:
Mounting external data volumes for large datasets.
Integrating custom CA certificates for secure networking.
Enabling GPU-accelerated workers for demanding machine learning tasks.
Learn More
See Customize Your Setup for available deployment configuration options.
Installation Guides#
Follow the steps detailed in the guides below to install Dioptra.
Table of Contents