Deploy NeMo Auditor Using Docker Compose#

You can deploy the NeMo Auditor microservice using Docker Compose for local development, testing, and quickstart scenarios. This deployment method provides a simple way to get Data Designer running quickly without complex Kubernetes configurations.

Prerequisites#

  • Docker and Docker Compose installed on your system

  • NGC API Key for accessing NGC Catalog

  • At least 4GB of available RAM

  • Sufficient disk space for generated artifacts (recommended: 10GB+)

  • Access to LLM endpoints (NVIDIA API, local NIM, or other compatible endpoints)

Procedure#

  1. Set up environment variables:

    export NGC_CLI_API_KEY="<your-ngc-api-key>"
    export NIM_API_KEY="<your-nvidia-api-key>"  # Optional, for accessing models from build.nvidia.com.
    
  2. Log in to NVIDIA NGC container registry:

    docker login nvcr.io -u '$oauthtoken' -p $NGC_CLI_API_KEY
    
  3. Create a file, such as docker-compose.yml, with contents like the following example:

    services:
      app:
        image: nvcr.io/nvidia/nemo-microservices/auditor:25.08
        environment:
          - POSTGRES_URI=postgresql://nemo:nemo@postgres:5432/auditor
          - NIM_API_KEY
          - REST_API_KEY
          - OPENAI_API_KEY
          - OPENAICOMPATIBLE_API_KEY
        ports:
          - 127.0.0.1:5000:5000
        depends_on:
          postgres:
            condition: service_healthy
    
      postgres:
        image: postgres:16.2
        restart: always
        environment:
          - POSTGRES_USER=nemo
          - POSTGRES_PASSWORD=nemo
          - POSTGRES_DB=auditor
          - POSTGRES_PORT=5432
        ports:
          - 127.0.0.1:5432:5432
        healthcheck:
          test: ["CMD-SHELL", "sh -c 'pg_isready -U nemo -d auditor'"]
          interval: 10s
          timeout: 3s
          retries: 3
    
  4. Start NeMo Auditor:

    docker compose up
    

    The command starts the Auditor microservice on port 5000 and an instance of PostgreSQL for persistent storage of targets and configs.

Verifying the Deployment#

After starting the services, verify everything is working:

  1. Check service status:

    $ docker compose ps
    
  2. Set AUDITOR_BASE_URL:

    $ export AUDITOR_BASE_URL=http://localhost:5000
    
  3. Test the readiness endpoint:

    $ curl "${AUDITOR_BASE_URL}/health/ready
    
  4. Read the API documentation by accessing http://localhost:5000/docs in your browser.

Stopping the Service#

To stop the microservice:

docker compose down

Next Steps#