Skip to main content
Environment variables are key-value pairs accessible within your container. Use them to pass configuration settings, secrets, and runtime information without hardcoding values into your code or container image.

Set environment variables

You can configure up to 50 environment variables per Pod. During Pod creation:
  1. Click Edit Template and expand Environment Variables.
  2. Click Add Environment Variable and enter the key-value pair.
In Pod templates:
  1. Navigate to My Templates.
  2. Create or edit a template and add variables in the Environment Variables section.
Using secrets: Reference Runpod secrets for sensitive data:
API_KEY={{ RUNPOD_SECRET_my_api_key }}
DATABASE_PASSWORD={{ RUNPOD_SECRET_db_password }}

Update environment variables

  1. Go to Pods and click the three dots next to your Pod.
  2. Select Edit Pod and expand Environment Variables.
  3. Add or update variables and click Save.
Updating environment variables restarts your Pod, clearing all data outside your volume mount path (/workspace by default).

Access environment variables

In your Pod’s terminal:
echo $VARIABLE_NAME     # View specific variable
env | grep RUNPOD       # List Runpod variables
In your code:
import os

model_name = os.environ.get('MODEL_NAME', 'default-model')
api_key = os.environ['API_KEY']  # Raises error if not set

Runpod-provided variables

Runpod automatically sets these environment variables:
VariableDescription
RUNPOD_POD_IDUnique Pod identifier.
RUNPOD_DC_IDData center identifier.
RUNPOD_POD_HOSTNAMEServer hostname.
RUNPOD_GPU_COUNTNumber of GPUs available.
RUNPOD_CPU_COUNTNumber of CPUs available.
RUNPOD_PUBLIC_IPPublic IP address (if available).
RUNPOD_TCP_PORT_22Public port mapped to SSH.
RUNPOD_VOLUME_IDAttached network volume ID.
RUNPOD_API_KEYPod-scoped API key.
PUBLIC_KEYAuthorized SSH public keys.
CUDA_VERSIONInstalled CUDA version.
PYTORCH_VERSIONInstalled PyTorch version.

Best practices

  • Use secrets for sensitive data: Never hardcode API keys or passwords. Use Runpod secrets.
  • Validate required variables: Check that critical variables are set before your application starts.
  • Provide defaults: Use fallback values for non-critical configuration.
  • Use descriptive names: Prefer DATABASE_PASSWORD over DB_PASS.
  • Group related variables: Use consistent prefixes like DB_HOST, DB_PORT, DB_NAME.