> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/deployment/hi/self-hosted/inference-server/configuration/environment-variables.md).

# Inference Server Environment Variables

Environment variables जो self-hosted Roboflow Inference server को नियंत्रित करते हैं - execution providers, caching, Workflows, Roboflow API retries, telemetry, HTTPS, और security।

Inference सर्वर का व्यवहार पर्यावरणीय चरों के एक सेट द्वारा नियंत्रित होता है। हर चर परिभाषित है [`inference/core/env.py`](https://github.com/roboflow/inference/blob/main/inference/core/env.py); नीचे दिए गए वे चर हैं जिन्हें अधिक स्पष्टीकरण की आवश्यकता है।

उन्हें कंटेनर में इसके साथ पास करें `-e` (देखें [Docker कॉन्फ़िगरेशन विकल्प](/deployment/hi/self-hosted/inference-server/configuration/docker-configuration.md) सबसे अधिक बदली जाने वाली सेटिंग्स के लिए):

```bash
docker run -it --rm -e ENV_VAR_NAME=env_var_value -p 127.0.0.1:9001:9001 roboflow/roboflow-inference-server-cpu:latest
```

{% hint style="info" %}
ये चर Inference सर्वर को कॉन्फ़िगर करते हैं। Roboflow CLI और Python SDK चर का एक अलग, छोटा सेट पढ़ते हैं (`ROBOFLOW_API_KEY`, `ROBOFLOW_CONFIG_DIR`और अन्य): देखें [पर्यावरण चर](https://docs.roboflow.com/reference/environment-variables) संदर्भ अनुभाग में।
{% endhint %}

हालिया सुरक्षा सेटिंग्स के स्रोत और रिलीज़ दायरे के लिए देखें [सुरक्षा कॉन्फ़िगरेशन माइग्रेशन](/deployment/hi/self-hosted/inference-server/configuration/security-migration.md#release-status).

## निष्पादन और मॉडल

<table data-search="false"><thead><tr><th>चर</th><th>विवरण</th><th>डिफ़ॉल्ट</th></tr></thead><tbody><tr><td>ONNXRUNTIME_EXECUTION_PROVIDERS</td><td>प्राथमिकता क्रम में निष्पादन प्रदाताओं की सूची। यदि कोई प्रदाता आपके प्लेटफ़ॉर्म पर समर्थित नहीं है, तो चेतावनी दिखाई जाती है।</td><td>देखें <a href="https://github.com/roboflow/inference/blob/main/inference/core/env.py">env.py</a></td></tr><tr><td>RUNS_ON_JETSON</td><td>क्या Inference Jetson डिवाइस पर चलता है। Jetson आर्किटेक्चर के सभी Docker बिल्ड में इसे True पर सेट करें।</td><td>False</td></tr><tr><td>MODEL_VALIDATION_DISABLED</td><td>परीक्षण इनफ़रेंस को छोड़कर मॉडल लोडिंग को तेज़ बनाता है।</td><td>False</td></tr><tr><td>SAM2_MAX_EMBEDDING_CACHE_SIZE</td><td>GPU मेमोरी में रखे जाने वाले SAM2 एम्बेडिंग की संख्या। हर एम्बेडिंग 16777216 बाइट लेती है।</td><td>100</td></tr><tr><td>SAM2_MAX_LOGITS_CACHE_SIZE</td><td>CPU मेमोरी में रखे जाने वाले SAM2 logits की संख्या। हर logit 262144 बाइट लेता है।</td><td>1000</td></tr><tr><td>DISABLE_SAM2_LOGITS_CACHE</td><td>SAM2 logits कैशिंग को अक्षम करता है। डीबगिंग के लिए या मेमोरी उपयोग कम करने के लिए उपयोगी, लेकिन बार-बार समान अनुरोधों के धीमे होने की कीमत पर।</td><td>False</td></tr></tbody></table>

## `inference-models` बैकएंड

<table data-search="false"><thead><tr><th>चर</th><th>विवरण</th><th>डिफ़ॉल्ट</th></tr></thead><tbody><tr><td>USE_INFERENCE_MODELS</td><td>inference-models बैकएंड चुनता है; इमेजें इसे ओवरराइड कर सकती हैं।</td><td>कोर लाइब्रेरी में False</td></tr><tr><td>ALLOW_INFERENCE_MODELS_DIRECTLY_ACCESS_LOCAL_PACKAGES</td><td>स्थानीय मॉडल पैकेजों, उनके कोड सहित, की अनुमति देता है। ऑनलाइन मॉडल प्राधिकरण के साथ असंगत। देखें <a href="/deployment/hi/self-hosted/inference-server/configuration/model-security.md">मॉडल पैकेज सुरक्षा</a>.</td><td>False</td></tr><tr><td>ALLOW_INFERENCE_MODELS_UNTRUSTED_PACKAGES</td><td>डाउनलोड किए गए पैकेजों को, जिन्हें अविश्वसनीय वर्गीकृत किया गया है, की अनुमति देता है। सीधे स्थानीय लोडिंग से अलग; देखें <a href="/deployment/hi/self-hosted/inference-server/configuration/security-migration.md#model-package-trust">इमेज माइग्रेशन डिफ़ॉल्ट</a>.</td><td>कोर लाइब्रेरी में False; इमेज पर निर्भर</td></tr><tr><td>MAX_INFERENCE_MODELS_CACHE_SIZE_MB</td><td>inference-models कैश वॉचडॉग सक्षम करता है। 0 से ऊपर सेट करने पर, वॉचडॉग समय के साथ सिस्टम की डिस्क स्पेस खत्म होने से बचाने के लिए मॉडल आर्टिफ़ैक्ट्स (सबसे पुराने और सबसे बड़े पहले) को छाँटता है। केवल तब लागू होता है जब USE_INFERENCE_MODELS=True हो।</td><td>-1</td></tr><tr><td>INFERENCE_MODELS_CACHE_WATCHDOG_INTERVAL_MINUTES</td><td>inference-models कैश वॉचडॉग चक्रों की आवृत्ति। न्यूनतम 15 मिनट है।</td><td>60</td></tr><tr><td>ENABLE_CUDA_MEMORY_RECLAMATION_WATCHDOG</td><td>एक बैकग्राउंड डेमॉन सक्षम करता है जो समय-समय पर कैश की हुई लेकिन उपयोग न हुई CUDA मेमोरी को torch.cuda.empty_cache() के जरिए ड्राइवर को वापस करता है। PyTorch का कैशिंग एलोकेटर मुक्त किए गए डिवाइस ब्लॉक्स को अपने पूल में बनाए रखता है और उन्हें स्वयं रिलीज़ नहीं करता, इसलिए लंबे समय तक चलने वाले सर्वर पर समवर्ती या बैच किए गए इनफ़रेंस का उच्चतम-जल-चिह्न स्थिर रहता है और आरक्षित VRAM केवल बढ़ती है। यह वॉचडॉग एक निश्चित अंतराल पर उस अतिरिक्त हिस्से को पुनः प्राप्त करता है; लाइव allocations को नहीं छेड़ता। यह वास्तव में बहुत अधिक सब्स्क्राइब किए गए समवर्ती चरम के कारण हुए OOM को नहीं रोकता। केवल CUDA पर USE_INFERENCE_MODELS=True के साथ सार्थक।</td><td>False</td></tr><tr><td>CUDA_MEMORY_RECLAMATION_WATCHDOG_INTERVAL_SECONDS</td><td>CUDA मेमोरी वॉचडॉग के पुनःप्राप्ति चक्रों के बीच का अंतराल। न्यूनतम 5 सेकंड है (कम मान ऊपर की ओर सीमित किए जाते हैं)। केवल तब लागू होता है जब ENABLE_CUDA_MEMORY_RECLAMATION_WATCHDOG=True हो।</td><td>300</td></tr></tbody></table>

## वर्कफ़्लोज़ और वीडियो

<table data-search="false"><thead><tr><th>चर</th><th>विवरण</th><th>डिफ़ॉल्ट</th></tr></thead><tbody><tr><td>ENABLE_WORKFLOWS_PROFILING</td><td>सर्वर को Workflows प्रोफाइलर ट्रेस क्लाइंट को लौटाने की अनुमति देता है।</td><td>False</td></tr><tr><td>WORKFLOWS_PROFILER_BUFFER_SIZE</td><td>प्रोफाइलर बफ़र का आकार: बफ़र में ट्रेस की गई लगातार Workflows Execution Engine run(...) कॉलों की संख्या।</td><td>64</td></tr><tr><td>WORKFLOWS_DEFINITION_CACHE_EXPIRY</td><td>get_workflow_specification(...) द्वारा लौटाई गई Workflow परिभाषाओं को कैश करने के लिए सेकंडों की संख्या।</td><td>900 (15 मिनट)</td></tr><tr><td>ENABLE_STREAM_API</td><td>एकीकृत वीडियो प्रबंधन API सक्षम करता है। मानक CPU, GPU, और TensorRT इमेजें इसे True पर सेट करती हैं, जैसे JetPack 5.1.1 और 6.2.0 इमेजें करती हैं; slim इमेजें और JetPack 6.0.0 और 7.1.0 इमेजें ऐसा नहीं करतीं। अपनी pinned image जाँचें।</td><td>कोर लाइब्रेरी में False; सूचीबद्ध इमेजों में True</td></tr><tr><td>STREAM_API_PRELOADED_PROCESSES</td><td>गरम निष्क्रिय वीडियो वर्कर्स की लक्षित संख्या, जिससे GPU पर वर्कर शुरू होने का समय कम होता है। इमेजें इसे ओवरराइड कर सकती हैं।</td><td>कोर लाइब्रेरी में 0</td></tr><tr><td>STREAM_MANAGER_MAX_ACTIVE_PIPELINES</td><td>प्रबंधित पाइपलाइन प्रक्रियाओं की अधिकतम सीमा, जिसमें निष्क्रिय वर्कर्स भी शामिल हैं। ऐसी अनुरोध जिन्हें सीमा से परे नए वर्कर की आवश्यकता हो, अस्वीकार कर दिए जाते हैं। यदि STREAM_API_PRELOADED_PROCESSES अधिक हो तो इसे उसी तक बढ़ा दिया जाता है। देखें <a href="/deployment/hi/self-hosted/inference-server/configuration/video-configuration.md">वीडियो कॉन्फ़िगरेशन</a>.</td><td>8</td></tr><tr><td>STREAM_MANAGER_MAX_RAM_MB</td><td>स्ट्रीम मैनेजर और उसके वर्कर्स के लिए कुल RAM बजट। जब अनुमानित कुल उपयोग इसे पार कर जाएगा, तो नए वर्कर्स को अस्वीकार कर दिया जाता है। यह अनुमान-आधारित सुरक्षा है, सख्त मेमोरी सीमा नहीं।</td><td>सेट नहीं (कोई RAM सीमा नहीं)</td></tr><tr><td>ALLOW_UNSAFE_GSTREAMER_PIPELINES</td><td>लंबित runtime-hardening build में विश्वसनीय raw pipelines के लिए media-reference validation को बायपास करता है। देखें <a href="/deployment/hi/self-hosted/inference-server/configuration/security-migration.md#video-source-validation">माइग्रेशन दायरा</a>.</td><td>उस build में False</td></tr><tr><td>ALLOW_CUSTOM_PYTHON_EXECUTION_IN_WORKFLOWS</td><td>स्थानीय रूप से Custom Python को चलाने की अनुमति देता है। Modal execution को अक्षम नहीं करता।</td><td>True</td></tr><tr><td>WORKFLOWS_CUSTOM_PYTHON_EXECUTION_MODE</td><td>स्थानीय या Modal Custom Python execution चुनता है। देखें <a href="/deployment/hi/self-hosted/inference-server/configuration/security-migration.md#offline-custom-python">ऑफ़लाइन माइग्रेशन व्यवहार</a>.</td><td>स्थानीय</td></tr><tr><td>ALLOW_WEBHOOK_WORKFLOWS_SINK_TO_NON_GLOBAL_ADDRESSES</td><td>Webhook Sink को loopback, private, link-local, और अन्य गैर-वैश्विक पतों से जुड़ने की अनुमति देता है। जब अविश्वसनीय कॉलर webhook गंतव्य चुन सकते हों, तब इसे False पर सेट करें। Redirects और HTTP(S) proxies किसी भी मान के लिए अस्वीकार किए जाते हैं। देखें <a href="/deployment/hi/self-hosted/inference-server/configuration/security.md#restrict-webhook-sink-destinations">सर्वर सुरक्षा</a>.</td><td>True</td></tr></tbody></table>

## GPU टेन्सर पाइपलाइन

सक्षम NVIDIA GPU पर, Workflows वीडियो डिकोड से लेकर मॉडल इनफ़रेंस और आउटपुट तक इमेज डेटा को GPU पर ही रख सकता है, बजाय इसे CPU के माध्यम से ले जाने के। इससे GPU-प्रधान वीडियो Workflows की लेटेंसी कम होती है। इसके लिए चाहिए `USE_INFERENCE_MODELS=True`एक GPU जिसकी compute capability 7.5 या उससे अधिक हो (उदा.: T4, RTX 20-सीरीज़ और उससे नई; V100 नहीं), और `onnx.gpu` या Jetson Docker image. मेल खाती GPU और image के बिना, Inference सामान्य CPU-आधारित निष्पादन पर वापस जाता है।

<table data-search="false"><thead><tr><th>चर</th><th>विवरण</th><th>डिफ़ॉल्ट</th></tr></thead><tbody><tr><td>ENABLE_TENSOR_DATA_REPRESENTATION</td><td>GPU टेन्सर पाइपलाइन को चालू करता है: GPU-स्थित Workflows निष्पादन और हार्डवेयर-त्वरित (NVDEC) वीडियो डिकोडिंग।</td><td>False</td></tr><tr><td>WORKFLOWS_IMAGE_TENSOR_DEVICE</td><td>वह Torch device जिस पर Workflow tensors रखे जाते हैं जब tensor pipeline सक्षम होती है।</td><td>यदि उपलब्ध हो तो cuda, अन्यथा cpu</td></tr><tr><td>VIDEO_SOURCE_BUFFER_SIZE</td><td>प्रति वीडियो स्रोत बफ़र किए गए डिकोड किए गए फ़्रेमों की संख्या।</td><td>टेन्सर पाइपलाइन सक्षम होने पर 8, अन्यथा 64</td></tr><tr><td>VIDEO_SOURCE_ADAPTIVE_BACKPRESSURE</td><td>अनुमानित फ़्रेम दर के बजाय बफ़र स्थिति के आधार पर बफ़र किए गए फ़्रेम हटाता है।</td><td>ENABLE_TENSOR_DATA_REPRESENTATION से मेल खाता है</td></tr><tr><td>WORKFLOWS_ENFORCE_DENSE_INSTANCE_MASKS</td><td>टेन्सर पाइपलाइन मॉडल से RLE-एन्कोडेड मास्क के बजाय dense instance segmentation masks लौटाता है।</td><td>False</td></tr><tr><td>WORKFLOWS_SAM_VIDEO_MASK_REPRESENTATION</td><td>टेन्सर पाइपलाइन में SAM video tracking blocks द्वारा उपयोग किया जाने वाला mask format (rle या dense)।</td><td>rle</td></tr><tr><td>DISABLE_GSTREAMER_VIDEO_SOURCES</td><td>GStreamer-आधारित वीडियो स्रोतों को अक्षम करता है, जिससे मानक CPU डिकोडिंग बाध्य होती है।</td><td>False</td></tr></tbody></table>

## Roboflow API कनेक्टिविटी

<table data-search="false"><thead><tr><th>चर</th><th>विवरण</th><th>डिफ़ॉल्ट</th></tr></thead><tbody><tr><td>TRANSIENT_ROBOFLOW_API_ERRORS</td><td>Roboflow API से HTTP कोडों की अल्पविराम-पृथक सूची जिन्हें पुनः प्रयास किया जाना चाहिए (केवल GET endpoints)।</td><td>सेट नहीं</td></tr><tr><td>TRANSIENT_ROBOFLOW_API_ERRORS_RETRIES</td><td>अस्थायी त्रुटियों (कनेक्शन त्रुटियाँ और अस्थायी HTTP कोड) को जितनी बार पुनः प्रयास किया जाए (केवल GET endpoints)।</td><td>3</td></tr><tr><td>TRANSIENT_ROBOFLOW_API_ERRORS_RETRY_INTERVAL</td><td>अस्थायी Roboflow API त्रुटियों के पुनः प्रयासों के बीच की देरी (केवल GET endpoints)।</td><td>3</td></tr><tr><td>RETRY_CONNECTION_ERRORS_TO_ROBOFLOW_API</td><td>क्या Roboflow API से कनेक्शन त्रुटियों को पुनः प्रयास किया जाना चाहिए (केवल GET endpoints)।</td><td>False</td></tr><tr><td>ROBOFLOW_API_REQUEST_TIMEOUT</td><td>Roboflow API को भेजे जाने वाले अनुरोधों के लिए सेकंडों में (integer) timeout।</td><td>सेट नहीं</td></tr><tr><td>API_PROXY_BASE_URL</td><td>apiproxy/* endpoints के लिए Roboflow API proxy अनुरोधों में उपयोग किया जाने वाला base URL। लंबे चलने वाले third-party proxy calls के लिए Firebase Hosting timeouts से बचने हेतु इसे direct heavy-API Cloud Run service root पर सेट करें।</td><td>API_BASE_URL का मान</td></tr><tr><td>DISABLE_VERSION_CHECK</td><td>बैकग्राउंड thread में चलने वाले Inference version check को अक्षम करता है। जब SECURE_GATEWAY कॉन्फ़िगर हो, तब इसे True पर force-set किया जाता है (स्पष्ट False को ओवरराइड करते हुए), क्योंकि gateway के पीछे api.github.com उपलब्ध नहीं होता।</td><td>False</td></tr><tr><td>SECURE_GATEWAY</td><td>का पता <a href="/deployment/hi/self-hosted/enterprise/secure-gateway.md">Roboflow Secure Gateway</a> एयर-गैप्ड deployments के लिए (legacy alias: LICENSE_SERVER)। Roboflow API और model download traffic को gateway proxy के माध्यम से route करता है, version check को force-disable करता है, और जब remote plus hosted कॉन्फ़िगर हो, तब local Workflow step execution पर वापस जाता है। देखें <a href="/deployment/hi/self-hosted/inference-server/configuration/docker-configuration.md#secure-gateway">Docker कॉन्फ़िगरेशन विकल्प</a>.</td><td>सेट नहीं</td></tr></tbody></table>

## निगरानी और टेलीमेट्री

<table data-search="false"><thead><tr><th>चर</th><th>विवरण</th><th>डिफ़ॉल्ट</th></tr></thead><tbody><tr><td>ENABLE_PROMETHEUS</td><td>Prometheus /metrics endpoint सक्षम करता है। देखें <a href="/deployment/hi/self-hosted/inference-server/configuration/telemetry.md">टेलीमेट्री</a>.</td><td>Docker Hub इमेजों के लिए True</td></tr><tr><td>DOCKER_SOCKET_PATH</td><td>कंटेनर में माउंट किए गए Docker daemon socket का path। प्रदान किए जाने पर, daemon socket से Docker container stats polling सक्षम करता है। देखें <a href="/deployment/hi/self-hosted/inference-server/configuration/telemetry.md#docker-container-metrics">टेलीमेट्री</a>.</td><td>सेट नहीं</td></tr><tr><td>METRICS_ENABLED</td><td>Roboflow को नियंत्रित करता है <a href="/deployment/hi/monitoring-and-analytics/model-monitoring.md">मॉडल मॉनिटरिंग</a>.</td><td>True</td></tr><tr><td>MODEL_MONITORING_CACHE_BACKEND</td><td>मॉडल-मॉनिटरिंग pingback data के लिए cache backend। सामान्य cache चयन का पालन करने के लिए default का उपयोग करें (REDIS_HOST कॉन्फ़िगर होने पर Redis, अन्यथा memory), या inference hot path से Redis को हटाकर process-local buffering को बाध्य करने के लिए memory का उपयोग करें।</td><td>डिफ़ॉल्ट</td></tr></tbody></table>

## HTTPS

<table data-search="false"><thead><tr><th>चर</th><th>विवरण</th><th>डिफ़ॉल्ट</th></tr></thead><tbody><tr><td>ENABLE_HTTPS</td><td>Inference server के लिए HTTPS चालू/बंद करता है। True होने पर, server SSL_CERTFILE और SSL_KEYFILE पढ़ता है और TLS के माध्यम से traffic serve करता है। देखें <a href="/deployment/hi/self-hosted/inference-server/configuration/https.md">HTTPS के माध्यम से Inference सर्व करना</a>.</td><td>False</td></tr><tr><td>SSL_CERTFILE</td><td>ENABLE_HTTPS=True होने पर सर्व किए जाने वाले PEM-encoded TLS certificate का path।</td><td>/etc/inference/certs/server.crt</td></tr><tr><td>SSL_KEYFILE</td><td>SSL_CERTFILE के साथ जोड़ी गई PEM-encoded TLS private key का path।</td><td>/etc/inference/certs/server.key</td></tr><tr><td>SSL_KEYFILE_PASSWORD</td><td>Uvicorn के लिए encrypted-key passphrase। parallel Gunicorn launcher द्वारा समर्थित नहीं।</td><td>सेट नहीं</td></tr><tr><td>SSL_CA_CERTS</td><td>HTTPS के लिए client CA bundle। देखें <a href="/deployment/hi/self-hosted/inference-server/configuration/https.md#mutual-tls">mTLS प्रवर्तन और रिलीज़ दायरा</a>.</td><td>सेट नहीं</td></tr></tbody></table>

## प्रमाणीकरण और इनपुट सुरक्षा

<table data-search="false"><thead><tr><th>चर</th><th>विवरण</th><th>डिफ़ॉल्ट</th></tr></thead><tbody><tr><td>WORKSPACES_WHITELISTED_FOR_LOCAL_DEPLOYMENT</td><td>Inference, Workflow, और integrated pipeline अनुरोधों के लिए अनुमत Workspace slugs। देखें <a href="/deployment/hi/self-hosted/inference-server/configuration/security.md#enforce-authentication">प्रमाणीकरण और अपवाद</a>.</td><td>सेट नहीं</td></tr><tr><td>MODELS_CACHE_AUTH_ENABLED</td><td>कॉलर की Roboflow model तक ऑनलाइन पहुंच की जाँच करता है। उस मोड में direct local package loading अस्वीकार करता है।</td><td>False</td></tr><tr><td>ALLOW_OFFLINE_MODEL_CACHE_AUTH_BYPASS</td><td>जब offline mode और model cache authorization दोनों सक्षम हों, तब स्पष्ट authorization bypass आवश्यक है। केवल trusted single-tenant deployments के लिए।</td><td>False</td></tr></tbody></table>

Custom Python निष्पादन और URL image fetching को नियंत्रित करने वाले चर (`ALLOW_CUSTOM_PYTHON_EXECUTION_IN_WORKFLOWS`, `ALLOW_URL_INPUT`, `ALLOW_URL_TO_NON_GLOBAL_ADDRESSES`, `VALIDATE_IMAGE_URL_REDIRECTS`और अन्य) का दस्तावेज़ यहाँ है [स्व-होस्टेड सर्वर को सुरक्षित करना](/deployment/hi/self-hosted/inference-server/configuration/security.md) और [स्वीकृत इनपुट प्रारूप](/deployment/hi/self-hosted/inference-server/configuration/input-formats.md).
