Environment variables
Single flat table you can grep — see Deployment for the longer-form explanation.
For prose around how to set these, see Deployment → Environment variables. This page is the flat reference.
npuops-platform (.env)
# --- Secrets (regenerate per environment) ---
POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_DB=
CLICKHOUSE_USER=
CLICKHOUSE_PASSWORD=
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
MINIO_ROOT_USER=
MINIO_ROOT_PASSWORD=
MONGO_INITDB_ROOT_USERNAME=
MONGO_INITDB_ROOT_PASSWORD=
MONGO_URI=mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@mongodb:27017/LibreChat?authSource=admin
LITELLM_MASTER_KEY=
LITELLM_SALT_KEY=
DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/litellm
JWT_SECRET=
JWT_REFRESH_SECRET=
CREDS_KEY=
CREDS_IV=
LANGFUSE_SALT=
LANGFUSE_ENCRYPTION_KEY=
LANGFUSE_NEXTAUTH_SECRET=
LANGFUSE_NEXTAUTH_URL=
LANGFUSE_HOST=http://langfuse-web:3000
LANGFUSE_PUBLIC_KEY=
LANGFUSE_SECRET_KEY=
LANGFUSE_INIT_USER_EMAIL=
LANGFUSE_INIT_USER_NAME=
LANGFUSE_INIT_USER_PASSWORD=
LLM_GUARD_AUTH_TOKEN=
GRAFANA_ADMIN_USER=admin
GRAFANA_ADMIN_PASSWORD=
# --- Public URLs ---
APP_TITLE=Nufi Chat
ALLOW_REGISTRATION=true
ALLOW_EMAIL_LOGIN=true
LIBRECHAT_URL=http://localhost:3080
CONSOLE_URL=http://localhost:3001
CUSTOM_FOOTER=
HELP_AND_FAQ_URL=
PRIVACY_POLICY_URL=
TERMS_OF_SERVICE_URL=
# --- LLM backends (filled by add-model.sh) ---
GPU_BACKEND_BASE_URL=
GPU_BACKEND_API_KEY=
NPU_BACKEND_BASE_URL=
NPU_BACKEND_API_KEY=
# Plus any provider key referenced from litellm/config.yaml:
# OPENAI_API_KEY=, ANTHROPIC_API_KEY=, TOGETHER_API_KEY=, …
# --- Console JIT defaults ---
DEFAULT_USER_BUDGET=10
DEFAULT_BUDGET_DURATION=30d
DEFAULT_TPM_LIMIT=10000
DEFAULT_RPM_LIMIT=60
KEY_DEFAULT_DURATION=90d
# --- E2E smoke test ---
E2E_USER_EMAIL=e2e@npuops.local
E2E_USER_PASSWORD=
E2E_USER_NAME=E2E Bot
E2E_MODEL=qwen2.5-3b
E2E_EXPECTED_HARDWARE_ID=mac-local
E2E_ENDPOINT_NAME=NPUOps
# --- Image pinning (production) ---
NUFI_CONSOLE_TAG=mainnufi-chat (.env)
IMAGE_TAG=main
DOMAIN_CLIENT=
DOMAIN_SERVER=
APP_TITLE=Nufi Chat
ALLOW_REGISTRATION=true
ALLOW_EMAIL_LOGIN=true
COOKIE_DOMAIN=
COOKIE_SAMESITE=strict # 'lax' if COOKIE_DOMAIN is set
CONSOLE_URL=
JWT_SECRET=
JWT_REFRESH_SECRET=
CREDS_KEY=
CREDS_IV=
BACKEND_BASE_URL=
BACKEND_API_KEY=
SHARED_DOCKER_NETWORK=nufi-console (.env)
PORT=3000
JWT_SECRET=
JWT_REFRESH_SECRET=
LITELLM_BASE_URL=http://localhost:4000
LITELLM_MASTER_KEY=
LANGFUSE_HOST=http://localhost:3000
LANGFUSE_PUBLIC_KEY=
LANGFUSE_SECRET_KEY=
VITE_LIBRECHAT_URL=http://localhost:3080
DEFAULT_USER_BUDGET=10
DEFAULT_BUDGET_DURATION=30d
DEFAULT_TPM_LIMIT=10000
DEFAULT_RPM_LIMIT=60
KEY_DEFAULT_DURATION=90d
SERVE_DIST=true # productionnufichat-admin-panel (.env)
PORT=3000
SESSION_SECRET= # min 32 chars
VITE_API_BASE_URL=http://localhost:3080
ADMIN_SSO_ONLY=false
ADMIN_SESSION_IDLE_TIMEOUT_MS=1800000
ADMIN_PANEL_METRICS_SECRET=
ADMIN_PANEL_STATIC_CACHE_MAX_AGE=172800
ADMIN_PANEL_INDEX_CACHE_CONTROL=no-cacheHow to generate
openssl rand -hex 32 # JWT_SECRET, CREDS_KEY, LITELLM_MASTER_KEY, …
openssl rand -hex 16 # CREDS_IV
openssl rand -base64 32 # POSTGRES_PASSWORD, MINIO_ROOT_PASSWORD, …
openssl rand -base64 24 # LANGFUSE_PUBLIC_KEYThe bootstrap script in each repo handles this for you. Re-running the script is idempotent — only missing values are filled.