Skip to navigation

Configuration Alternatives at Runtime

View as Markdown

The OpenFold2 NIM allows alternative runtime configurations.

Start the OpenFold2 NIM

To start the NIM:

export LOCAL_NIM_CACHE=~/.cache/nim
docker run --rm --name openfold2 \
--runtime=nvidia \
--gpus 'device=0' \
-e NGC_API_KEY \
-v $LOCAL_NIM_CACHE:/opt/nim/.cache \
-p 8000:8000 \
nvcr.io/nim/openfold/openfold2:latest

Notes:

  • The -p option sets the port for the NIM.
  • The -e options define the environment variables, which are passed into the NIM’s container at runtime.
  • --rm removes the container when it exits.
  • -it allows interacting with the container directly at the CLI.

Use an Alternative Port for OpenFold2 NIM Requests

If you have other HTTP servers running (for example, other NIMs), you may need to make port 8000 available by using another port for your NIM. To use an alternative port:

  1. Change the exposed port by setting the -p option.
  2. Set the NIM_HTTP_API_PORT environment variable to the new port.

The following is an example of setting the NIM to run on port 7979:

export LOCAL_NIM_CACHE=/mount/largedisk/nim/.cache
# Set the NIM_HTTP_API_PORT environment variable to the new port (-e),
# and forward that same port to the host (-p).
docker run --rm --name openfold2 \
--runtime=nvidia \
--gpus 'device=0' \
-e NGC_API_KEY \
-e NIM_HTTP_API_PORT=7979 \
-v $LOCAL_NIM_CACHE:/opt/nim/.cache \
-p 7979:7979 \
nvcr.io/nim/openfold/openfold2:latest

Send requests to the new port, for example http://localhost:7979/v1/health/ready.

Configure Logging Levels

OpenFold2 NIM provides several environment variables to control logging verbosity for different components. You can set these when starting the container to get more detailed logs for debugging or reduce verbosity for production.

Available Logging Flags

Environment VariableDescriptionValid ValuesDefault
NIM_LOGControls NIM service loggingDEBUG, INFO, WARNING, ERROR, CRITICALINFO
NIM_LOG_LEVELAlternative NIM logging level controlDEBUG, INFO, WARNING, ERROR, CRITICALINFO
APP_LOG_LEVELControls application-level loggingDEBUG, INFO, WARNING, ERROR, CRITICALINFO

Example: Run With Configured Logging

The following example shows how to run the NIM with logging configuration:

export LOCAL_NIM_CACHE=~/.cache/nim
docker run --rm --name openfold2 \
--runtime=nvidia \
--gpus 'device=0' \
-e NGC_API_KEY \
-e NIM_LOG=INFO \
-e NIM_LOG_LEVEL=INFO \
-e APP_LOG_LEVEL=INFO \
-v $LOCAL_NIM_CACHE:/opt/nim/.cache \
-p 8000:8000 \
nvcr.io/nim/openfold/openfold2:latest

Configure NIM Telemetry

NIM Telemetry helps NVIDIA deliver a faster, more reliable experience with greater compatibility across a wide range of environments. It collects only minimal, anonymous metadata (such as hardware type and NIM version). No user data, input sequences, or prediction results are collected.

Telemetry Configuration Flags

Environment VariableRequiredDefaultDescription
NIM_TELEMETRY_MODENo0Controls telemetry collection. Set to 0 to disable telemetry (default), set to 1 to enable telemetry.
NIM_TELEMETRY_ENABLE_LOGGINGNotrueEnables logging for telemetry operations when set to true. Only applicable when NIM_TELEMETRY_MODE=1.

Benefits

  • Enhances performance and reliability: Provides anonymous system and NIM-level insights that help NVIDIA identify bottlenecks, tune performance across hardware configurations, and improve runtime stability.
  • Improves compatibility across deployments: Helps detect and resolve version, driver, and environment compatibility issues early, reducing friction across diverse infrastructure setups.
  • Accelerates troubleshooting and bug resolution: Allows NVIDIA to diagnose errors and regressions faster, leading to quicker support response times and higher overall availability.
  • Informs smarter optimizations and future releases: Real-world, aggregated telemetry data helps guide the optimization of NIM runtimes, model packaging, and deployment workflows, ensuring updates target the scenarios that matter most to users.
  • Protects user privacy and data security: Collects only minimal, anonymous metadata, such as hardware type and NIM version. No user data, input sequences, or prediction results are collected.
  • Fully optional and configurable: Telemetry collection is disabled by default. You can toggle telemetry at any time using environment variables.

Example: Run With Telemetry Enabled

export LOCAL_NIM_CACHE=~/.cache/nim
docker run --rm --name openfold2 \
--runtime=nvidia \
--gpus 'device=0' \
-e NGC_API_KEY \
-e NIM_TELEMETRY_MODE=1 \
-v $LOCAL_NIM_CACHE:/opt/nim/.cache \
-p 8000:8000 \
nvcr.io/nim/openfold/openfold2:latest

Privacy and Data Collection

For more information about data privacy, what is collected, and how to configure telemetry, refer to: