Service Port and GPU Reference

June 2, 2026 ยท View on GitHub

The following table provides a comprehensive reference of all services, their port mappings, and GPU assignments used in the self-hosted deployment.

Core Application Services

ServiceContainer NameHost Port(s)Container Port(s)Default GPU IDNotes
RAG Serverrag-server80818081N/A (CPU)Main RAG API endpoint
Ingestor Serveringestor-server80828082N/A (CPU)Document ingestion API
RAG Frontendrag-frontend80903000N/A (CPU)Web UI
NeMo Retriever Library Runtimenv-ingest-ms-runtime7670, 7671, 82657670, 7671, 8265N/A (CPU)Main orchestrator (Ray dashboard: 8265)

NIM Microservices

ServiceContainer NameHost Port(s)Container Port(s)Default GPU IDEnvironment VariableNotes
LLMnim-llm-ms899980001LLM_MS_GPU_IDMain language model
Text Embeddingnemotron-embedding-ms908080000EMBEDDING_MS_GPU_IDOptional text embeddings (profile: text-embed)
VLM Embeddingnemotron-vlm-embedding-ms908180000VLM_EMBEDDING_MS_GPU_IDDefault vision-language embeddings
Rankingnemotron-ranking-ms197680000RANKING_MS_GPU_IDReranking model
VLMnemotron-3-nano-omni-30b-a3b-reasoning197780005VLM_MS_GPU_IDVision-language model (opt-in, profile: vlm-only, vlm-generation, vlm-rag)
VLM Captioningnemotron-nano-12b-v2-vl197880006VLM_CAPTIONING_MS_GPU_IDImage captioning model (opt-in, profile: ingest, vlm-rag, vlm-generation)
VLM Rerankernemotron-ranking-vl-ms197980000RANKING_VL_MS_GPU_IDVision-language reranking model (opt-in, profile: vlm-rerank, vlm-rag)
Nemotron Parsecompose-nemotron-parse-18015, 8016, 80178000, 8001, 80021NEMOTRON_PARSE_MS_GPU_IDPDF parsing (opt-in, profile: nemotron-parse)
RIVA ASRcompose-audio-18021, 802250051, 90000AUDIO_MS_GPU_IDAudio speech recognition (opt-in, profile: audio)
Page Elementscompose-page-elements-18000, 8001, 80028000, 8001, 80020YOLOX_MS_GPU_IDObject detection for pages
Graphic Elementscompose-graphic-elements-18003, 8004, 80058000, 8001, 80020YOLOX_GRAPHICS_MS_GPU_IDGraphics detection
Table Structurecompose-table-structure-18006, 8007, 80088000, 8001, 80020YOLOX_TABLE_MS_GPU_IDTable structure detection
Nemotron OCRcompose-nemotron-ocr-18012, 8013, 80148000, 8001, 80020OCR_MS_GPU_IDOCR service (default)

Vector Database and Infrastructure

ServiceContainer NameHost Port(s)Container Port(s)Default GPU IDEnvironment VariableNotes
Elasticsearchelasticsearch92009200N/A (CPU)N/ADefault
Rediscompose-redis-163796379N/A (CPU)N/ATask queue
Milvusmilvus-standalone19530, 909119530, 90910VECTORSTORE_GPU_DEVICE_IDVector database (Profile: milvus)
SeaweedFS Object Storeseaweedfs9010, 90119010, 9011N/A (CPU)N/AS3-compatible object storage
Milvus etcdmilvus-etcdN/A2379N/A (CPU)N/AMetadata storage (Profile: milvus)

:::{note} Opt-in NIM Services:

The following NIM services are opt-in and require explicit Docker Compose profile activation:

  • VLM (nemotron-3-nano-omni-30b-a3b-reasoning): Use profile vlm-only, vlm-generation, or vlm-rag for vision-language model
  • VLM Reranker (nemotron-ranking-vl-ms): Use profile vlm-rerank or vlm-rag for vision-language reranking model
  • VLM Captioning (nemotron-nano-12b-v2-vl): Use profile vlm-generation, vlm-rag, or ingest for image captioning model
  • Nemotron Parse (compose-nemotron-parse-1): Use profile nemotron-parse for advanced PDF parsing
  • RIVA ASR (compose-audio-1): Use profile audio for audio speech recognition

To activate these services, add --profile <profile-name> when launching services. For example:

USERID=$(id -u) docker compose -f deploy/compose/nims.yaml --profile nemotron-parse up -d

:::

:::{tip} Customizing GPU Allocations:

  • Set GPU IDs using environment variables in deploy/compose/.env before launching services.
  • For services using multiple ports (e.g., page-elements: 8000, 8001, 8002), these correspond to HTTP API, gRPC, and metrics endpoints respectively.
  • Services marked with "Profile:" only start when that Docker Compose profile is specified using --profile <name>.
  • Multiple services can share the same GPU (e.g., embedding, ranking, and ingestion services default to GPU 0).
  • For multi-GPU setups on A100 SXM or B200, see step 3 in the deployment procedure. :::

:::{note} Port Conflict Resolution:

If you have port conflicts with existing services:

  1. Stop conflicting services, or
  2. Modify port mappings in the respective Docker Compose YAML files (e.g., change "8081:8081" to "8181:8081" to expose on host port 8181).
  3. Update corresponding environment variables that reference these ports (e.g., APP_VECTORSTORE_URL). :::