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:

docker run --runtime=nvidia ...

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

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.

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_MSA_API_MAX_DATABASES

No

3

Maximum number of databases that can be specified in a single API request.

NIM_MSA_API_MAX_MSA_SEQUENCES

No

10001

Maximum value for the max_msa_sequences API parameter.

NIM_MSA_API_MAX_ITERATIONS

No

6

Maximum value for the iterations API parameter.

NIM_MSA_API_MAX_CHAINS

No

20

Maximum number of chains (sequences) allowed in a paired MSA search request.

NIM_MSA_API_MAX_SEQUENCE_LENGTH

No

4096

Maximum length of an input protein sequence.

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