> ## Documentation Index
> Fetch the complete documentation index at: https://docs.simplismart.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Add Container

> Add a container image from Docker Hub, Depot, Nvidia NGC, Quay, or Amazon ECR to Simplismart

Simplismart supports containers from five registries: **Docker Hub**, **Depot**, **Nvidia NGC** (for NIM containers), **Quay**, and **Amazon ECR**. This page covers setting up credentials and adding your image. Once added, see [Deploy Your Container](/model-suite/deployments/deploy-container) to configure and launch the deployment.

## Prerequisites

* A container image hosted on Docker Hub, Depot, Nvidia NGC, Quay, or Amazon ECR.
* For **private images**: credentials configured in Simplismart (see [Setting Up Registry Credentials](#setting-up-registry-credentials)).

<Note>
  Public Docker Hub and Quay images do not require any credentials. You can skip the credentials section and go straight to [Adding Your Image](#adding-your-image).
</Note>

## Setting Up Registry Credentials

Skip this section if you are using a public image.

<Tabs>
  <Tab title="Docker Hub">
    <Steps>
      <Step title="Open Secrets">
        Navigate to **Integrations** → [**Secrets**](https://app.simplismart.ai/integrations/secrets) in your Simplismart dashboard.
      </Step>

      <Step title="Create a Docker Hub secret">
        Click **Create Secret** and fill in the following fields:

        * **Secret Name**: A descriptive name for this secret.
        * **Secret Type**: Select **Docker Hub** from the dropdown.
        * **Username**: Your Docker Hub username.
        * **Access Token**: Your Docker Hub access token.
      </Step>

      <Step title="Save the secret">
        Click **Save**. The secret appears in your secrets list and can be selected when adding a private image.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Depot">
    <Steps>
      <Step title="Open Secrets">
        Navigate to **Integrations** → [**Secrets**](https://app.simplismart.ai/integrations/secrets) in your Simplismart dashboard.
      </Step>

      <Step title="Create a Depot secret">
        Click **Create Secret** and fill in the following fields:

        * **Secret Name**: A descriptive name for this secret.
        * **Secret Type**: Select **Depot** from the dropdown.
        * **Username**: Enter `x-token` (this is always the username for Depot).
        * **Access Token**: Your Depot access token.
      </Step>

      <Step title="Save the secret">
        Click **Save**. The secret appears in your secrets list.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Nvidia NGC">
    <Steps>
      <Step title="Open Secrets">
        Navigate to **Integrations** → [**Secrets**](https://app.simplismart.ai/integrations/secrets) in your Simplismart dashboard.
      </Step>

      <Step title="Create an NGC secret">
        Click **Create Secret** and fill in the following fields:

        * **Secret Name**: A descriptive name for this secret.
        * **Secret Type**: Select **Nvidia Secret Docker** from the dropdown.
        * **API Key**: Your NVIDIA NGC API key.

                  <img src="https://mintcdn.com/simplismart-3f10d72e/gTRCmRuan7ftye2b/images/NIM_secrets.png?fit=max&auto=format&n=gTRCmRuan7ftye2b&q=85&s=4435ba19e852e83eba7745939704dc00" alt="Nvidia NGC secret configuration" width="3006" height="1606" data-path="images/NIM_secrets.png" />
      </Step>

      <Step title="Save the secret">
        Click **Save**. The secret appears in your secrets list and can be selected when adding an NGC image.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Quay">
    Only **public** Quay images are currently supported. No credentials are required. You can skip to [Adding Your Image](#adding-your-image).
  </Tab>

  <Tab title="Amazon ECR">
    <Steps>
      <Step title="Open Secrets">
        Navigate to **Integrations** → [**Secrets**](https://app.simplismart.ai/integrations/secrets) in your Simplismart dashboard.
      </Step>

      <Step title="Create an Amazon ECR secret">
        Click **Create Secret** and fill in the following fields:

        * **Secret Name**: A descriptive name for this secret.
        * **Secret Type**: Select **ECR** from the dropdown.
        * **Secret Data**: Paste your AWS credentials in the following JSON format:

        ```json theme={null}
        {
          "region": "us-west-2",
          "accessKey": "<your-aws-access-key-id>",
          "secretKey": "<your-aws-secret-access-key>"
        }
        ```
      </Step>

      <Step title="Save the secret">
        Click **Create**. The secret appears in your secrets list and can be selected when adding an ECR image.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Adding Your Image

<Steps>
  <Step title="Open My Models">
    Go to the **My Models** page and click **Bring Your Own Container**.
  </Step>

  <Step title="Configure the model">
    Fill in the fields for your registry. The **Model Name** and **GPU Per Container** fields are the same for all registries.

    <Tabs>
      <Tab title="Docker Hub">
        <img src="https://mintcdn.com/simplismart-3f10d72e/_N9qDVv0a1BMCXVB/images/model-suite/deployments/deploy-docker-container/1-docker-container-basic-details.png?fit=max&auto=format&n=_N9qDVv0a1BMCXVB&q=85&s=de952cd76b78d9fae03297af4fa5152f" alt="Add model-— Docker Hub" width="3024" height="1034" data-path="images/model-suite/deployments/deploy-docker-container/1-docker-container-basic-details.png" />

        * **Model Name**: A descriptive name for your application.
        * **Platform Type**: Select **DockerHub** from the dropdown.
        * **Registry Path**: Your Docker Hub registry path (e.g. `myorg/myimage`).
        * **Container Image Tag**: The image version or tag (e.g. `latest`).
        * **GPU Per Container**: Number of GPUs per container. Default is `1`; maximum is `8`.
        * **Registry Credentials**: Select the Docker Hub secret configured earlier. Leave blank for public images.
      </Tab>

      <Tab title="Depot">
        First, locate your registry path in Depot:

        1. Go to your **Depot** dashboard and navigate to **Registry**.
        2. Find your image in the **Image Reference** column. It will look like:

        ```
        registry.depot.dev/YOUR-ORG-ID:CONTAINER-IMAGE-TAG
        ```

        Split this into two parts:

        * **Registry Path**: `registry.depot.dev/YOUR-ORG-ID` (everything before the `:`)
        * **Container Image Tag**: `CONTAINER-IMAGE-TAG` (everything after the `:`)

                  <img src="https://mintcdn.com/simplismart-3f10d72e/JbLmMu31xYQflhXu/images/model-suite/deployments/deploy-docker-container/2-fetch-image-id.png?fit=max&auto=format&n=JbLmMu31xYQflhXu&q=85&s=be76b0b6ebf2b4d174420564f4e1bd44" alt="Depot image reference" width="3024" height="1652" data-path="images/model-suite/deployments/deploy-docker-container/2-fetch-image-id.png" />

        Then fill in the model fields:

        * **Model Name**: A descriptive name for your application.
        * **Platform Type**: Select **Depot** from the dropdown.
        * **Registry Path**: The path copied from Depot (e.g. `registry.depot.dev/YOUR-ORG-ID`).
        * **Container Image Tag**: The tag copied from Depot.
        * **GPU Per Container**: Number of GPUs per container. Default is `1`; maximum is `8`.
        * **Registry Credentials**: Select the Depot secret configured earlier.
      </Tab>

      <Tab title="Nvidia NGC">
        * **Model Name**: A descriptive name for your application.
        * **Platform Type**: Select **NGC** from the dropdown.
        * **Registry Path**: The NGC image path (e.g. `nvcr.io/nvidia/nim/meta/llama-3.1-8b-instruct`).
        * **Container Image Tag**: The image tag (e.g. `latest`).
        * **GPU Per Container**: Number of GPUs per container. Default is `1`; maximum is `8`.
        * **Registry Credentials**: Select the Nvidia NGC secret configured earlier.
      </Tab>

      <Tab title="Quay">
        * **Model Name**: A descriptive name for your application.
        * **Platform Type**: Select **Quay** from the dropdown.
        * **Registry Path**: The Quay image path (e.g. `quay.io/myorg/myimage`).
        * **Container Image Tag**: The image tag (e.g. `latest`).
        * **GPU Per Container**: Number of GPUs per container. Default is `1`; maximum is `8`.
        * **Registry Credentials**: Leave blank, only public Quay images are supported.
      </Tab>

      <Tab title="Amazon ECR">
        <img src="https://mintcdn.com/simplismart-3f10d72e/UUGggl0C02jion4f/images/model-suite/optimize/ECR/1-ecr-container-details.png?fit=max&auto=format&n=UUGggl0C02jion4f&q=85&s=2080cd82887cb1334b14036d09d2cc2f" alt="Add model — Amazon ECR" width="3024" height="919" data-path="images/model-suite/optimize/ECR/1-ecr-container-details.png" />

        * **Model Name**: A descriptive name for your application.

        * **Platform Type**: Select **Amazon ECR** from the dropdown.

        * **Registry Path**: The full ECR image URI without the tag (e.g. `123456789012.dkr.ecr.us-west-2.amazonaws.com/my-repo`).

        * **Container Image Tag**: The image tag (e.g. `latest`).

        * **GPU Per Container**: Number of GPUs per container. Default is `1`; maximum is `8`.

        * **Registry Credentials**: Select the Amazon ECR secret configured earlier.
      </Tab>
    </Tabs>
  </Step>

  <Step title="Configure the container">
    Expand **Container Configuration** to define how the platform interacts with your container. These settings carry over to the deployment step and can be overridden there.

    <img src="https://mintcdn.com/simplismart-3f10d72e/_N9qDVv0a1BMCXVB/images/model-suite/deployments/deploy-docker-container/3-byoc-container-config.png?fit=max&auto=format&n=_N9qDVv0a1BMCXVB&q=85&s=62b41e147faa300cd799e290dc505d56" alt="Container configuration" width="2836" height="1330" data-path="images/model-suite/deployments/deploy-docker-container/3-byoc-container-config.png" />

    Click **Add HTTP**, **Add gRPC**, or **Add Monitoring** to enable the respective services.

    * **HTTP Service** (Required): The port your server listens on (e.g. `8000`).
      * **Public Access**: Enable to make the endpoint reachable externally. When disabled, the service is accessible only within the cluster.

    * **gRPC Service**: Enable if your application uses gRPC (must use a different port than HTTP).

    * **Monitoring Service**: Enable for enhanced monitoring and observability.

    * **Health Check Configuration**: If any field is filled, all fields are required.
      * **Health Check Path**: e.g. `/health`
      * **Port**: Must match your HTTP service port.
      * **Initial Delay**: Time in seconds before the first check.
      * **Period**: Interval in seconds between checks.
      * **Timeout**: Maximum seconds to wait for a response.

    * **Environment Variables**: Runtime key-value pairs for your container.

          <img src="https://mintcdn.com/simplismart-3f10d72e/_N9qDVv0a1BMCXVB/images/model-suite/deployments/deploy-docker-container/4-byoc-container-config-1.png?fit=max&auto=format&n=_N9qDVv0a1BMCXVB&q=85&s=0ea336e2022f6b34825fd274400a82eb" alt="Container configuration continued" width="2836" height="574" data-path="images/model-suite/deployments/deploy-docker-container/4-byoc-container-config-1.png" />

    * **Command Override**: (Optional) Custom command to replace the container's default startup command.

    * **Model Endpoint**: (Optional) Inference path for observability (e.g. `/v1/chat/completions`).
  </Step>

  <Step title="Add the model">
    Click **Add Model**. For Docker Hub, the image path is verified immediately. For other registries, the image is confirmed when the deployment starts.
  </Step>
</Steps>

Once your image is added, continue to [Deploy Your Container](/model-suite/deployments/deploy-container) to configure and launch the deployment.
