Skip to main content

Configuration Guide

Open WebUI can be configured through environment variables, providing flexibility for different deployment scenarios. This guide covers all major configuration options.

Setting Environment Variables

Use the -e flag to set environment variables:
docker run -d -p 3000:8080 \
  -e OLLAMA_BASE_URL=http://ollama:11434 \
  -e WEBUI_SECRET_KEY=your_secret_key \
  -e ENABLE_SIGNUP=False \
  -v open-webui:/app/backend/data \
  --name open-webui \
  ghcr.io/open-webui/open-webui:main

Core Configuration

Application Settings

VariableDescriptionDefault
WEBUI_NAMEApplication name displayed in UIOpen WebUI
WEBUI_URLBase URL for the application-
ENVEnvironment mode (dev, test, prod)dev
DATA_DIRDirectory for storing data/app/backend/data
FRONTEND_BUILD_DIRFrontend build directory/app/build
ENABLE_SIGNUPAllow new user registrationsTrue
ENABLE_LOGIN_FORMShow login formTrue
DEFAULT_LOCALEDefault UI language-
Always set ENABLE_SIGNUP=False after creating your admin account to prevent unauthorized access.

Security Settings

VariableDescriptionDefault
WEBUI_SECRET_KEYSecret key for sessions (required in production)t0p-s3cr3t
WEBUI_AUTHEnable authenticationTrue
JWT_EXPIRES_INJWT token expiration time4w
ENABLE_API_KEYSAllow users to create API keysFalse
WEBUI_SESSION_COOKIE_SAME_SITECookie SameSite attributelax
WEBUI_SESSION_COOKIE_SECURERequire HTTPS for cookiesfalse
# Secure configuration for production
WEBUI_SECRET_KEY=$(openssl rand -base64 32)
WEBUI_AUTH=True
ENABLE_SIGNUP=False
WEBUI_SESSION_COOKIE_SECURE=True
JWT_EXPIRES_IN=1w

Model Provider Configuration

Ollama Settings

VariableDescriptionDefault
ENABLE_OLLAMA_APIEnable Ollama integrationTrue
OLLAMA_BASE_URLOllama server URLhttp://localhost:11434
OLLAMA_BASE_URLSMultiple Ollama servers (semicolon-separated)-
OLLAMA_API_CONFIGSAPI configurations per server{}
OLLAMA_BASE_URL=http://localhost:11434

OpenAI API Settings

VariableDescriptionDefault
ENABLE_OPENAI_APIEnable OpenAI integrationTrue
OPENAI_API_KEYOpenAI API key-
OPENAI_API_BASE_URLOpenAI API endpointhttps://api.openai.com/v1
OPENAI_API_KEYSMultiple API keys (semicolon-separated)-
OPENAI_API_BASE_URLSMultiple API endpoints-
OPENAI_API_KEY=sk-...
OPENAI_API_BASE_URL=https://api.openai.com/v1

Database Configuration

SQLite (Default)

DATABASE_URL=sqlite:///app/backend/data/webui.db
DATABASE_ENABLE_SQLITE_WAL=False

PostgreSQL

DATABASE_URL=postgresql://user:password@host:5432/database
Or use individual variables:
DATABASE_TYPE=postgresql
DATABASE_USER=openwebui
DATABASE_PASSWORD=your_password
DATABASE_HOST=postgres
DATABASE_PORT=5432
DATABASE_NAME=openwebui

Database Pool Settings

VariableDescriptionDefault
DATABASE_POOL_SIZEConnection pool size-
DATABASE_POOL_MAX_OVERFLOWMax overflow connections0
DATABASE_POOL_TIMEOUTConnection timeout (seconds)30
DATABASE_POOL_RECYCLEConnection recycle time (seconds)3600
ENABLE_DB_MIGRATIONSAuto-run database migrationsTrue
For production PostgreSQL deployments, configure pool settings based on your load:
DATABASE_POOL_SIZE=20
DATABASE_POOL_MAX_OVERFLOW=10
DATABASE_POOL_TIMEOUT=30

Redis Configuration

Redis is required for horizontal scaling and multi-worker deployments.
VariableDescriptionDefault
REDIS_URLRedis connection URL-
REDIS_CLUSTERUse Redis ClusterFalse
REDIS_KEY_PREFIXKey prefix for namespacingopen-webui
REDIS_SENTINEL_HOSTSSentinel hosts (comma-separated)-
REDIS_SENTINEL_PORTSentinel port26379
REDIS_URL=redis://localhost:6379/0
REDIS_KEY_PREFIX=open-webui

Storage Configuration

Local Storage (Default)

STORAGE_PROVIDER=local
DATA_DIR=/app/backend/data

Amazon S3

STORAGE_PROVIDER=s3
S3_ACCESS_KEY_ID=your_access_key
S3_SECRET_ACCESS_KEY=your_secret_key
S3_REGION_NAME=us-east-1
S3_BUCKET_NAME=open-webui
S3_ENDPOINT_URL=https://s3.amazonaws.com

Google Cloud Storage

STORAGE_PROVIDER=gcs
GCS_BUCKET_NAME=open-webui
GOOGLE_APPLICATION_CREDENTIALS_JSON='{"type":"service_account",...}'

Azure Blob Storage

STORAGE_PROVIDER=azure
AZURE_STORAGE_ENDPOINT=https://account.blob.core.windows.net
AZURE_STORAGE_CONTAINER_NAME=open-webui
AZURE_STORAGE_KEY=your_storage_key

RAG & Vector Database

Vector Database Options

Open WebUI supports multiple vector databases for RAG:
  • ChromaDB (default)
  • PGVector
  • Qdrant
  • Milvus
  • Elasticsearch
  • OpenSearch
  • Pinecone
  • S3Vector
  • Oracle 23ai
Configuration is typically done through the Admin Panel UI.

RAG Settings

VariableDescriptionDefault
RAG_EMBEDDING_TIMEOUTEmbedding generation timeout-
RAG_SYSTEM_CONTEXTInclude RAG context in system messagesFalse
ENABLE_QUERIES_CACHECache query resultsFalse

Authentication & OAuth

OAuth Providers

GOOGLE_CLIENT_ID=your_client_id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your_client_secret
GOOGLE_REDIRECT_URI=http://localhost:3000/oauth/google/callback
ENABLE_OAUTH_SIGNUP=True

LDAP/Active Directory

LDAP integration is configured through the Admin Panel UI.

SCIM 2.0 Provisioning

ENABLE_SCIM=True
SCIM_TOKEN=your_scim_bearer_token
SCIM_AUTH_PROVIDER=oidc

User Permissions

Default User Role

# Options: admin, user, pending
DEFAULT_USER_ROLE=pending

Chat Permissions

# Chat controls
USER_PERMISSIONS_CHAT_FILE_UPLOAD=True
USER_PERMISSIONS_CHAT_DELETE=True
USER_PERMISSIONS_CHAT_EDIT=True
USER_PERMISSIONS_CHAT_TEMPORARY=True

# Advanced features
USER_PERMISSIONS_CHAT_MULTIPLE_MODELS=True
USER_PERMISSIONS_CHAT_CALL=True

Workspace Permissions

# Access to workspace features
USER_PERMISSIONS_WORKSPACE_MODELS_ACCESS=False
USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ACCESS=False
USER_PERMISSIONS_WORKSPACE_PROMPTS_ACCESS=False
USER_PERMISSIONS_WORKSPACE_TOOLS_ACCESS=False

# Sharing permissions
USER_PERMISSIONS_WORKSPACE_MODELS_ALLOW_SHARING=False
USER_PERMISSIONS_WORKSPACE_PROMPTS_ALLOW_SHARING=False

Performance & Scaling

Worker Configuration

# Number of uvicorn worker processes
UVICORN_WORKERS=1
When using multiple workers (UVICORN_WORKERS > 1), you must configure Redis for session management:
UVICORN_WORKERS=4
REDIS_URL=redis://localhost:6379/0

WebSocket Configuration

ENABLE_WEBSOCKET_SUPPORT=True
WEBSOCKET_MANAGER=
WEBSOCKET_REDIS_URL=redis://localhost:6379/0

Caching

# Model list caching (seconds)
MODELS_CACHE_TTL=1

# Query caching
ENABLE_QUERIES_CACHE=False

# Base models cache
ENABLE_BASE_MODELS_CACHE=False

Observability

OpenTelemetry

ENABLE_OTEL=True
ENABLE_OTEL_TRACES=True
ENABLE_OTEL_METRICS=True
ENABLE_OTEL_LOGS=True

OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
OTEL_SERVICE_NAME=open-webui
OTEL_TRACES_SAMPLER=parentbased_always_on

Audit Logging

ENABLE_AUDIT_LOGS_FILE=True
AUDIT_LOGS_FILE_PATH=/app/backend/data/audit.log
AUDIT_LOG_FILE_ROTATION_SIZE=10MB
AUDIT_LOG_LEVEL=METADATA

General Logging

GLOBAL_LOG_LEVEL=INFO
LOG_FORMAT=json

Network & CORS

# CORS configuration
CORS_ALLOW_ORIGIN=*

# Forwarded IPs (for proxy setups)
FORWARDED_ALLOW_IPS=*

# Forward user info headers
ENABLE_FORWARD_USER_INFO_HEADERS=False

Advanced Features

Image Generation

Configure through Admin Panel UI. Supports:
  • OpenAI DALL-E
  • Google Gemini
  • ComfyUI (local)
  • AUTOMATIC1111 (local)
Configure search providers through Admin Panel UI. Supports 15+ providers including:
  • SearXNG
  • Google Programmable Search Engine
  • Brave Search
  • DuckDuckGo
  • Tavily
  • Perplexity

Tool/Function Calling

# Enable pip install for function requirements
ENABLE_PIP_INSTALL_FRONTMATTER_REQUIREMENTS=True

# Pip options
PIP_OPTIONS=--no-cache-dir

Environment-Specific Examples

# Development environment
ENV=dev
WEBUI_SECRET_KEY=dev_secret
ENABLE_SIGNUP=True
OLLAMA_BASE_URL=http://localhost:11434
DATABASE_URL=sqlite:///app/backend/data/webui.db
GLOBAL_LOG_LEVEL=DEBUG

Next Steps

User Management

Set up roles, permissions, and access control

Model Configuration

Configure and manage AI models

API Reference

Integrate Open WebUI programmatically

Troubleshooting

Common issues and solutions

For a complete list of all environment variables, see the source code or check your .env.example file.