Skip to content

Linux Install

Basic Requirements

To deploy self hosted Comet application you will need the following:

  • Server with supported Linux distribution, adequate storage space and backup cabability.
  • HTTP/HTTPS connectivity between the Comet SDK (where you train experiments) and the Comet application
  • License token: This token is a string of characters that will be requested during the installation process. The license token is unique to your organization and is required to activate the application.

Installation Steps

Installing Cometctl

Fetching the cometctl utility:

curl -sL | sudo bash
This command pulls and executes a bash setup script that will provision cometctl, a command line utility for installing and managing Comet. Once this command completes, cometctl will be available for beginning the installation.

Initialize the Comet repository:

cometctl init --license-token {provided token}

Include your provided license token as received from the sales department or via email. This command will initialize the comet-ml package repository, and takes care of modifying the appropriate system files to allow the Comet packages to be installed and updated.

Install Comet Enterprise:

cometctl aio install

As part of the installation process, cometctl will prompt you to set your comet_base_domain, which should be set with the virtual machine's IP or your domain from the basic requirements.

After that, you should see a splash screen showing a successful install, with instructions on how to access the Comet GUI. This will be the same IP or domain as mentioned previously for comet_base_domain. If you did not set the domain, or would like to change it for any reason, run cometctl aio update-config and set or change the comet_base_domain variable to your new IP or domain.

Be sure to run cometctl aio update-config if any changes are made.

Verify Installation

Open your browser from any machine within the network and visit http://{comet_base_domain}

Sign up to your Comet enterprise version by clicking "Log in" on the top right corner.

Server Requirements

Hardware requirements

For a single server deployment, also called all-in-one, we recommend the following specifications. Please note that these specifications may vary depending on usage, simultaneous training, and the number of users.

  • CPU: At least 16 vCPUs, such as an Intel Xeon or equivalent processor
  • Memory: At least 32 GB of RAM, with 64 GB recommended for optimal performance
  • Storage: At least 1 TB of root disk space, preferably SSD. The disk space allocation may be adjusted downward if you plan on storing experiment data on another partition or offsite.
  • Network: At least 10 Gbps network interface

If you're using a public cloud provider, the following instance types are recommended for use:

  • Amazon Web Services (AWS): m6i.4xlarge or larger instance types
  • Microsoft Azure: D16 v3 or larger instance types
  • Google Cloud Platform (GCP): n1-standard-16 or larger instance types

The application supports both RedHat and Debian-based distributions, including:

  • Ubuntu 18.04, 20.04 and 22.04
  • Amazon Linux 2
  • RedHat Enterprise Linux / CentOS 8

If you have the option to choose any distribution from these, we recommend selecting Ubuntu. This is because Ubuntu provides most of the software dependencies required by the application in its package manager, making the installation process smoother and faster.

Upgrading the Comet application

Whenever we release new versions of the Comet application, they are promptly published in our Debian and RPM repositories. To ensure you're always running the latest version, it's essential to periodically update your local repository caches and then upgrade the relevant packages.

For Debian based distros:

apt update && apt install comet-ml-installer comet-ml-prod comet-ml-frontend

For RPM based distros:

dnf update
dnf install comet-ml-installer comet-ml-prod comet-ml-frontend

Run the following command after to restart all comet services

cometctl aio restart-services

By following these steps, you'll ensure your Comet application remains up-to-date with the latest features and improvements.

Updating Application config

The primary configuration for the Comet application is stored in the YAML file located at /etc/comet-ml/comet-ml.yml. For efficient and effective editing, cometctl provides a user-friendly command:

cometctl aio update-config

Executing this command allows direct editing of the configuration. After making your desired changes, save the file and exit. The system will automatically apply the updated configuration to the /etc/default/comet-ml file.

Note: An application restart is still needed to effectuate the changes.

Debugging note: If you run into problems and need to troubleshoot, be aware that the resulting configurations (from your changes) that the application relies on are located in the /etc/default/comet-ml file.

After applying your configuration updates, ensure you restart the application for the changes to take effect:

cometctl aio restart-services

Performs a quick health check to verify if the services are up and running

cometctl aio healthcheck

Application Telemetry

By default, the Comet application is configured to collect minimal telemetry data. This data helps us improve the application and better understand user behaviors. It comprises usage reports, statistics about the installation, and a few anonymized BI events.

For a detailed overview of the data collected and a sample report, click here.

May. 17, 2024