Version: Next

Quick start

It's easy to get started with Onepanel. First, you install the CLI (opctl) and then using opctl, you generate a params.yaml file and update it to configure your deployment. Once complete, you can access your deployment from any browser.

In this quick start, we will walk you through:

  1. Deploying Onepanel to one of the major cloud providers.
  2. Labelling your images or video using the integrated annotation Workspace.
  3. Training your model with the newly labelled data using the integrated training Workflows.

Before getting started, take a look at concepts to understand the different components in Onepanel.


You can also follow along with our getting started videos, but be sure to use the commands from the docs:

Step 0: Create a Kubernetes cluster

Let's get started by creating a Kubernetes cluster in one of the following cloud providers:


Make sure the latest version of Azure CLI (az) is installed before proceeding.

Run this az command to create a bare minimum cluster with 2 Standard_D4s_v3 nodes:

az aks create --resource-group <resource-group> --name <cluster-name> --location <region> \
--node-count 2 \
--node-vm-size Standard_D4s_v3 \
--node-osdisk-size 100 \
--min-count 2 \
--max-count 5 \
--enable-cluster-autoscaler \
--network-plugin azure \
--network-policy azure \
--enable-addons monitoring \

You can then get access credentials by running:

az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin

Once you are done with these quick start steps, see adding more nodes to add additional CPU or GPU nodes to your cluster.

Step 1: Install Onepanel

  1. Download the latest opctl for your operating system from our release page.

    # Download the binary
    curl -sLO
    # Make binary executable
    chmod +x opctl-linux-amd64
    # Move binary to path
    mv ./opctl-linux-amd64 /usr/local/bin/opctl
    # Test installation
    opctl version
  2. Run the following command to initialize a params.yaml template for your provider:

    opctl init --provider aks \
    --artifact-repository-provider abs \
    --gpu-device-plugins nvidia

    Currently, valid options for --artifact-repository-provider flag are s3 and abs.

    The s3 option supports Amazon S3 and any S3 compatible object storage like Minio and GCS (with HMAC key enabled).

    The abs option supports Azure Blob Storage.

  3. Populate params.yaml by following the instructions in the template, and referring to configuration file sections for more detailed information.

  4. Finally, run the following command to deploy Onepanel to your cluster:

    opctl apply

    If the command completes but it indicates that your cluster is not ready, you can check status again by running opctl app status. If you're still seeing issues, visit our Troubleshooting page.

  5. Once the deployment completes, the CLI will display the host name and wildcard domain you need to use to setup your DNS. You can also get this information again by running:

    opctl app status
  6. Create the appropriate DNS record in your DNS provider based on the instructions above.

  7. Wait a few minutes and check the URL mentioned in the instructions above. Your applications should load with a screen prompting you to enter a token.


    If the application is not loading, visit our Troubleshooting page for some steps that can help resolve most issues. If you are still having issues, reach out in Slack or GitHub discussions.

  8. Use the following command to get your auth token to log into Onepanel:

    opctl auth token

Step 2: Annotate your data

Onepanel is fully integrated with Computer Vision Annotation Tool (CVAT), allowing you to annotate images and videos and then train models on the annotated data with a few clicks. You can then use these newly trained models to automatically pre-annotate additional data, iteratively improving your object detection or semantic segmentation models.

  1. Go to Workspaces and click Create Workspace.

    Create Workspace

  2. Select the CVAT template and enter a name for your Workspace.

  3. Select a node pool that Onepanel will use to provision a machine for running CVAT. CVAT requires at least 16GB of RAM.


    Some providers have limits on how many volumes you can attach to a node. The default CVAT template in Onepanel requires 3 volumes, so make sure to pick a machine that can support at least that many volumes.

  4. Next, add the directory you want Onepanel to pull raw input data and store training output (pickled models, classes, etc.). This directory should be in the default object storage you configured when you launched Onepanel and in a directory that matches your current namespace.

  5. Click Create and Run to launch your CVAT Workspace.

  6. Once CVAT is running, click View.

  7. In CVAT, click Create new task.

  8. Enter a name for your task and then under Constructor, add your labels. See CVAT's user guide for additional information on more advanced label configuration.

  9. Under "Select files", click Connected file share. Files from your object storage location above should have already synced here. Pick the ones you want to annotate.


    Onepanel's FileSyncer automatically syncs files from your object storage location to this CVAT instance every 5 minutes.

  10. Click Submit and then click the Tasks menu item to go to the tasks list.

  11. Click Open to open task details.

  12. Click Job #1 to go into CVAT to start annotating your data. See CVAT's user guide for more information on the annotation tool interface.

Step 3: Train a model on annotated data

Onepanel allows you to train deep learning models on annotated data in CVAT in a matter of a few clicks.

You can directly train object detection or segmentation model from CVAT which you can use later to pre-annotate new data. This dramatically reduces time it takes to train new models and use them to pre-annotate new data. Moreover, apart from default models that we provide, you easily add new models or even modify exising model workflows.

  1. Click on Open for a task you want to train a model on.

    Open task

  2. Click on Job #X, where X could be any job number. Annotate few frames. For testing you can just annotate one frame. But ideally you want to have thousands of objects to train a deep learning model on. Alternatively, you can just run pre-annotation if your labels are common ones.

  3. Click on Actions for a task you want to train a model on. Then, click on Execute training Workflow.

    Select training workflow

  4. Select Workflow template (i.e model to train). By default, you can use TensorFlow Object Detection for object detection or MaskRCNN for semantic segmentation. Below image shows a case for Tensorflow Object Detection.

    Train a model from CVAT

  5. Update hyper-parameters and settings as per your requirements. Most of the parameters visible above are related to the model (MaskRCNN) and system (i.e machine). For this guide, you can change num-steps from default 10000 to 1000. You can also select the checkpoint path from previously trained model. You can leave it empty if you don't have an appropriate, previously trained model.

  6. Click Submit. This will execute the Onepanel Workflow for selected model. You can see Workflow logs by going to Workflow execution page. You can find the URL for the same in the notification card.

    Workflow URL


Note that you can easily add your own models as well. See adding custom models for more information on adding custom models.

You can also use this trained model to run pre-annotation in CVAT. See automatic annotation for more information on pre-annotation.

For more information about CVAT on Onepanel, see our CVAT documentation.