Application Installation on On-Prem and VPC Servers
UI application deployment is available under the ClearML Enterprise plan.
ClearML Applications are like plugins that allow you to manage ML workloads and automatically run recurring workflows without any coding. Applications are installed on top of the ClearML Server.
Requirements
To run application you will need the following:
- RAM: Make sure you have at least 400 MB of RAM per application instance.
- Applications Service: Make sure that the applications agent service is up and running on your server:
- If you are using a
docker-composesolution, make sure that the clearml-apps-agent service is running. - If you are using a Kubernetes cluster, check for the clearml-clearml-enterprise-apps component.
- If you are using a
- Installation Files: Each application has its installation zip file. Make sure you have the relevant files for the applications you wish to install.
- Installation Script - See below
Air-Gapped Environments
For Air-Gapped installations you need to copy docker images to the local registry and then update the application
configuration files to use this repository. This can be achieved by using the convert_image_registry.py script with
the --repo flag. For example:
python convert_image_registry.py \
--apps-dir /path/to/apps/ \
--artifactory local-artifactory/clearml_apps
The script will change the application zip files to point to the new registry, and will output the list of containers that need to be copied to the local registry. For example:
make sure allegroai/clearml-apps:hpo-1.10.0-1062 was added to local_registry/clearml-apps
Installing on ClearML Server
The upload_apps.py script handles uploading the app packages to the ClearML Server. It requires Python3.
To see the options, run:
python3 upload_apps.py --help
Credentials
The script requires user and password (USER_KEY/USER_SECRET in the example below). These can be taken from
the credentials of an admin user, which can be generated in the ClearML web application.
Host
For the host, supply the apiserver address. If running locally on the server, you can use localhost:8008.
Uploading a Single Application
python3 upload_apps.py \
--host <APISERVER_URL> \
--user <USER_KEY> \
--password <USER_SECRET> \
--files "YOUR_APP.zip"
Uploading Multiple Applications
If you wish to install more than one app you can use the --dir instead of the --files argument:
python3 upload_apps.py \
--host <APISERVER_URL> \
--user <USER_KEY> \
--password <USER_SECRET> \
--dir "DIRECTORY_CONTAINING_APPS_ZIP_FILES"
Application Instance Visibility
By default, all users can view all application instances in the ClearML UI. You can configure different visibility policies globally or for specific applications, for example to restrict access to the application owner or allow sharing only with selected user groups.
For more information, see Application Instance Visibility Policy.