> This page is for MSA Search, version 2.0.0.
> For other versions, use one of these documentation indexes:
> - 2.6.0 (Latest) (default): https://docs.nvidia.com/nim/bionemo/msa-search/2.6.0/llms.txt
> - 2.5.0: https://docs.nvidia.com/nim/bionemo/msa-search/2.5.0/llms.txt
> - 2.4.0: https://docs.nvidia.com/nim/bionemo/msa-search/2.4.0/llms.txt
> - 2.3.0: https://docs.nvidia.com/nim/bionemo/msa-search/2.3.0/llms.txt
> - 2.2.0: https://docs.nvidia.com/nim/bionemo/msa-search/2.2.0/llms.txt
> - 2.1.0: https://docs.nvidia.com/nim/bionemo/msa-search/2.1.0/llms.txt
> - 2.0.0: https://docs.nvidia.com/nim/bionemo/msa-search/2.0.0/llms.txt
> - 1.0.0: https://docs.nvidia.com/nim/bionemo/msa-search/1.0.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nim/bionemo/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nim/bionemo/_mcp/server.

# Configuration

This section describes how to configure the MSA Search NIM container using environment variables, GPU selection, and volume mounting.

## GPU Selection

By default, Docker uses all available GPUs on the system when started with the NVIDIA Container Runtime:

```bash
docker run --runtime=nvidia ...
```

To expose only specific GPUs to the container, use the `--gpus` flag:

```bash
docker run --gpus='"device=1"' ...
```

The device IDs are listed in the output of `nvidia-smi -L`. For more information on GPU selection, refer to the [NVIDIA Container Toolkit documentation](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/docker-specialized.html#gpu-enumeration).

## Environment Variables

The following environment variables can be passed to the NIM using the `-e` flag with `docker run`:

| ENV                         | Required? | Default           | Notes |
|-----------------------------|-----------|-------------------|-------|
| `NGC_API_KEY`               | Yes       | None              | You must set this variable to the value of your personal NGC API key. |
| `NIM_CACHE_PATH`            | No        | `/opt/nim/.cache` | Location (in container) where the container caches model artifacts. |
| `NIM_HTTP_API_PORT`         | No        | `8000`            | Port inside the container where the NIM service is published. When using the `-p` flag with docker run, ensure the right-hand side of the colon matches this value (e.g., `-p 8000:8000`). |
| `NIM_DISABLE_GPU_SERVER`    | No        | `False`           | Controls the GPU Server for MMSeqs2. The GPU Server is enabled by default for optimal performance with the included ColabFold databases. Set to `True` to disable if using custom databases that do not support GPU Server. |
| `NIM_GLOBAL_MAX_MSA_DEPTH`  | No        | `500`             | Sets the maximum number of MSA sequences returned. Must be set globally for all requests when GPU Server is enabled (default in version 2.0.0). |
| `NIM_LOG_LEVEL`             | No        | `INFO`            | Specifies the level of logging detail. Available options: `DEBUG`, `INFO`, `WARNING`, `ERROR`. |


## Volumes

The following container paths can be mounted to local directories for persistent storage.

| Container Path                                   | Required    | Notes | Docker Argument Example |
|--------------------------------------------------|-------------|-------|-------------------------|
| `/opt/nim/.cache` (or `NIM_CACHE_PATH` if set)  | Recommended | Directory where model artifacts and databases are cached. If not mounted, the container will re-download on each startup. Ensure the local directory has read-write-execute permissions (`chmod 0777`). Example: `mkdir -p ~/.cache/nim && chmod 0777 ~/.cache/nim` | `-v ~/.cache/nim:/opt/nim/.cache` |
| Custom path (set via `MODEL_PATH` env variable)  | Optional    | Mount custom databases by setting `MODEL_PATH` to point to your database directory inside the container, then mount the host directory to that path. Useful for using external or custom MMSeqs2 databases. | `-e MODEL_PATH=/custom/db -v /host/path/to/db:/custom/db:ro` |