Skip to navigation

Configuration

View as Markdown

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:

ENVRequired?DefaultNotes
NGC_API_KEYYesNoneYou must set this variable to the value of your personal NGC API key.
NIM_CACHE_PATHNo/opt/nim/.cacheLocation (in container) where the container caches model artifacts.
NIM_HTTP_API_PORTNo8000Port 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_SERVERNoFalseControls 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_DEPTHNo500Sets 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_LEVELNoINFOSpecifies 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 PathRequiredNotesDocker Argument Example
/opt/nim/.cache (or NIM_CACHE_PATH if set)RecommendedDirectory 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)OptionalMount 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