From ce2c819e3d5c3d238e302170ad5df9bdb1f4d7b3 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 8 May 2024 10:07:15 -0700 Subject: [PATCH] Update env-configuration.md --- docs/getting-started/env-configuration.md | 281 +++++++++++----------- 1 file changed, 143 insertions(+), 138 deletions(-) diff --git a/docs/getting-started/env-configuration.md b/docs/getting-started/env-configuration.md index a4058c72..c156f44d 100644 --- a/docs/getting-started/env-configuration.md +++ b/docs/getting-started/env-configuration.md @@ -8,251 +8,255 @@ Here is a list of supported environment variables used by `backend/config.py` in #### `ENV` -* Options: - * `dev` - Enables the FastAPI API docs on `/docs` - * `prod` - Automatically configures several environment variables -* Default: - * **Backend Default**: `dev` - * **Docker Default**: `prod` -* Description: Environment setting. +- Options: + - `dev` - Enables the FastAPI API docs on `/docs` + - `prod` - Automatically configures several environment variables +- Default: + - **Backend Default**: `dev` + - **Docker Default**: `prod` +- Description: Environment setting. + +### `WEBUI_AUTH` + +- Default Setting: `True` +- Description: This setting enables or disables authentication. It's important to note that it only work on fresh installations without any existing users. If you attempt to disable authentication when users already exist, you'll encounter an error message indicating that it's not possible. Ensure that no users are present in the database if you intend to turn off `WEBUI_AUTH`. #### `WEBUI_NAME` -* Default: `Open WebUI` -* Description: Sets the main WebUI name. Appends `(Open WebUI)` if overridden. +- Default: `Open WebUI` +- Description: Sets the main WebUI name. Appends `(Open WebUI)` if overridden. #### `WEBUI_URL` -* Default: `http://localhost:3000` -* Description: Specifies the URL where the Open WebUI is reachable. Currently used for search engine support. +- Default: `http://localhost:3000` +- Description: Specifies the URL where the Open WebUI is reachable. Currently used for search engine support. #### `DATA_DIR` -* Default: `./data` -* Description: Specifies the base directory for data storage, including uploads, cache, vector database, etc. +- Default: `./data` +- Description: Specifies the base directory for data storage, including uploads, cache, vector database, etc. #### `FRONTEND_BUILD_DIR` -* Default: `../build` -* Description: Specifies the location of the built frontend files. +- Default: `../build` +- Description: Specifies the location of the built frontend files. #### `STATIC_DIR` -* Default: `./static` -* Description: Specifies the directory for static files, such as the favicon. +- Default: `./static` +- Description: Specifies the directory for static files, such as the favicon. #### `CUSTOM_NAME` -* Description: Sets `WEBUI_NAME` but polls _api.openwebui.com_ for metadata. +- Description: Sets `WEBUI_NAME` but polls _api.openwebui.com_ for metadata. #### `ENABLE_SIGNUP` -* Default: `True` -* Description: Toggles user account creation. +- Default: `True` +- Description: Toggles user account creation. #### `DEFAULT_MODELS` -* Description: Sets a default Language Model. +- Description: Sets a default Language Model. #### `DEFAULT_USER_ROLE` -* Options: `pending`, `user`, `admin` -* Default: `pending` -* Description: Sets the default role assigned to new users. +- Options: `pending`, `user`, `admin` +- Default: `pending` +- Description: Sets the default role assigned to new users. #### `USER_PERMISSIONS_CHAT_DELETION` -* Default: `True` -* Description: Toggles user permission to delete chats. +- Default: `True` +- Description: Toggles user permission to delete chats. #### `ENABLE_MODEL_FILTER` -* Default: `False` -* Description: Toggles Language Model filtering. +- Default: `False` +- Description: Toggles Language Model filtering. #### `MODEL_FILTER_LIST` -* Description: Sets the Language Model filter list, semicolon-separated -* Example: `llama3:instruct;gemma:instruct` +- Description: Sets the Language Model filter list, semicolon-separated +- Example: `llama3:instruct;gemma:instruct` #### `WEBHOOK_URL` -* Description: Sets a webhook for integration with Slack/Microsoft Teams. +- Description: Sets a webhook for integration with Slack/Microsoft Teams. #### `ENABLE_ADMIN_EXPORT` -* Default: `True` -* Description: Controls whether admin users can export data. +- Default: `True` +- Description: Controls whether admin users can export data. #### `WEBUI_VERSION` -* Default: `v1.0.0-alpha.100` -* Description: Overrides the WebUI version. Currently unused. +- Default: `v1.0.0-alpha.100` +- Description: Overrides the WebUI version. Currently unused. #### `WEBUI_AUTH_TRUSTED_EMAIL_HEADER` -* Description: Defines the trusted request header for authentication. See [SSO docs](/tutorial/sso). +- Description: Defines the trusted request header for authentication. See [SSO docs](/tutorial/sso). #### `WEBUI_SECRET_KEY` -* Default: `t0p-s3cr3t` -* Docker Default: Randomly generated on first start -* Description: Overrides the randomly generated string used for JSON Web Token. +- Default: `t0p-s3cr3t` +- Docker Default: Randomly generated on first start +- Description: Overrides the randomly generated string used for JSON Web Token. #### `USE_CUDA_DOCKER` -* Default: `False` -* Description: Builds the Docker image with NVIDIA CUDA support. Enables GPU acceleration for local Whisper and embeddings. +- Default: `False` +- Description: Builds the Docker image with NVIDIA CUDA support. Enables GPU acceleration for local Whisper and embeddings. #### `DATABASE_URL` -* Default: `sqlite:///${DATA_DIR}/webui.db` -* Description: Specifies the database URL to connect to. Supports SQLite and Postgres. Changing the URL does not migrate data between databases. Documentation on URL scheme available [here](https://docs.peewee-orm.com/en/latest/peewee/playhouse.html#db-url). +- Default: `sqlite:///${DATA_DIR}/webui.db` +- Description: Specifies the database URL to connect to. Supports SQLite and Postgres. Changing the URL does not migrate data between databases. Documentation on URL scheme available [here](https://docs.peewee-orm.com/en/latest/peewee/playhouse.html#db-url). #### `PORT` -* Default: `8080` -* Description: Sets the port to run Open WebUI from. - +- Default: `8080` +- Description: Sets the port to run Open WebUI from. ### Ollama #### `OLLAMA_BASE_URL` -* Default: `http://localhost:11434` -* Docker Default: - * If `K8S_FLAG` is set: `http://ollama-service.open-webui.svc.cluster.local:11434` - * If `USE_OLLAMA_DOCKER=true`: `http://localhost:11434` - * Else `http://host.docker.internal:11434` -* Description: Configures the Ollama backend URL. +- Default: `http://localhost:11434` +- Docker Default: + - If `K8S_FLAG` is set: `http://ollama-service.open-webui.svc.cluster.local:11434` + - If `USE_OLLAMA_DOCKER=true`: `http://localhost:11434` + - Else `http://host.docker.internal:11434` +- Description: Configures the Ollama backend URL. #### `OLLAMA_BASE_URLS` -* Description: Configures load-balanced Ollama backend hosts, separated by `;`. See [`OLLAMA_BASE_URL`](#ollama_base_url). Takes precedence over[`OLLAMA_BASE_URL`](#ollama_base_url). +- Description: Configures load-balanced Ollama backend hosts, separated by `;`. See [`OLLAMA_BASE_URL`](#ollama_base_url). Takes precedence over[`OLLAMA_BASE_URL`](#ollama_base_url). #### `K8S_FLAG` -* Description: If set, assumes Helm chart deployment and sets [`OLLAMA_BASE_URL`](#ollama_base_url) to `http://ollama-service.open-webui.svc.cluster.local:11434` +- Description: If set, assumes Helm chart deployment and sets [`OLLAMA_BASE_URL`](#ollama_base_url) to `http://ollama-service.open-webui.svc.cluster.local:11434` #### `USE_OLLAMA_DOCKER` -* Default: `False` -* Description: Builds the Docker image with a bundled Ollama instance. +- Default: `False` +- Description: Builds the Docker image with a bundled Ollama instance. #### `OLLAMA_API_BASE_URL` -* Default: `http://localhost:11434/api` -* Description: Deprecated, see [`OLLAMA_BASE_URL`](#ollama_base_url). +- Default: `http://localhost:11434/api` +- Description: Deprecated, see [`OLLAMA_BASE_URL`](#ollama_base_url). ### OpenAI #### `OPENAI_API_KEY` -* Description: Sets the OpenAI API key. +- Description: Sets the OpenAI API key. #### `OPENAI_API_BASE_URL` -* Default: `https://api.openai.com/v1` -* Description: Configures the OpenAI base API URL. +- Default: `https://api.openai.com/v1` +- Description: Configures the OpenAI base API URL. #### `OPENAI_API_BASE_URLS` -* Description: Supports balanced OpenAI base API URLs, semicolon-separated. -* Example: `http://host-one:11434;http://host-two:11434` +- Description: Supports balanced OpenAI base API URLs, semicolon-separated. +- Example: `http://host-one:11434;http://host-two:11434` #### `OPENAI_API_KEYS` -* Description: Supports multiple OpenAI API keys, semicolon-separated. -* Example: `sk-124781258123;sk-4389759834759834` +- Description: Supports multiple OpenAI API keys, semicolon-separated. +- Example: `sk-124781258123;sk-4389759834759834` ### RAG #### `DOCS_DIR` -* Default: `${DATA_DIR}/docs` -* Description: Specifies the directory scanned for documents to add to the RAG database when triggered. - +- Default: `${DATA_DIR}/docs` +- Description: Specifies the directory scanned for documents to add to the RAG database when triggered. #### `CHROMA_TENANT` -* Default: `default_tenant` -* Description: Sets the tenant for ChromaDB to use for RAG embeddings. +- Default: `default_tenant` +- Description: Sets the tenant for ChromaDB to use for RAG embeddings. #### `CHROMA_DATABASE` -* Default: `default_database` -* Description: Sets the database in the ChromaDB tenant to use for RAG embeddings. +- Default: `default_database` +- Description: Sets the database in the ChromaDB tenant to use for RAG embeddings. #### `CHROMA_HTTP_HOST` -* Description: Specifies the hostname of a remote ChromaDB Server. Uses a local ChromaDB instance if not set. +- Description: Specifies the hostname of a remote ChromaDB Server. Uses a local ChromaDB instance if not set. #### `CHROMA_HTTP_PORT` -* Default: `8000` -* Description: Specifies the port of a remote ChromaDB Server. +- Default: `8000` +- Description: Specifies the port of a remote ChromaDB Server. #### `CHROMA_HTTP_HEADERS` -* Description: Comma-separated list of HTTP headers to include with every ChromaDB request. -* Example: `Authorization=Bearer heuhagfuahefj,User-Agent=OpenWebUI`. +- Description: Comma-separated list of HTTP headers to include with every ChromaDB request. +- Example: `Authorization=Bearer heuhagfuahefj,User-Agent=OpenWebUI`. #### `CHROMA_HTTP_SSL` -* Default: `False` -* Description: Controls whether or not SSL is used for ChromaDB Server connections. +- Default: `False` +- Description: Controls whether or not SSL is used for ChromaDB Server connections. #### `RAG_TOP_K` -* Default: `5` -* Description: Sets the default number of results to consider when using RAG. +- Default: `5` +- Description: Sets the default number of results to consider when using RAG. #### `RAG_RELEVANCE_THRESHOLD` -* Default: `0.0` -* Description: Sets the relevance threshold to consider for documents when used with reranking. +- Default: `0.0` +- Description: Sets the relevance threshold to consider for documents when used with reranking. #### `ENABLE_RAG_HYBRID_SEARCH` -* Default: `False` -* Description: Enables the use of ensemble search with `BM25` + `ChromaDB`, with reranking using `sentence_transformers` models. +- Default: `False` +- Description: Enables the use of ensemble search with `BM25` + `ChromaDB`, with reranking using `sentence_transformers` models. #### `ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION` -* Default: `True` -* Description: Enables TLS certification verification when browsing web pages for RAG. +- Default: `True` +- Description: Enables TLS certification verification when browsing web pages for RAG. #### `RAG_EMBEDDING_ENGINE` -* Options: - * ` ` (empty for local model) - * `ollama` - * `openai` -* Description: Selects an embedding engine to use for RAG. +- Options: + - ` ` (empty for local model) + - `ollama` + - `openai` +- Description: Selects an embedding engine to use for RAG. #### `PDF_EXTRACT_IMAGES` -* Default: `False` -* Description: Extracts images from PDFs using OCR when loading documents. +- Default: `False` +- Description: Extracts images from PDFs using OCR when loading documents. #### `RAG_EMBEDDING_MODEL` -* Default: `sentence-transformers/all-MiniLM-L6` -* Description: Sets a model for embeddings. Locally, a Sentence-Transformer model is used. +- Default: `sentence-transformers/all-MiniLM-L6` +- Description: Sets a model for embeddings. Locally, a Sentence-Transformer model is used. #### `RAG_EMBEDDING_MODEL_AUTO_UPDATE` -* Default: `False` -* Description: Toggles automatic update of the Sentence-Transformer model. +- Default: `False` +- Description: Toggles automatic update of the Sentence-Transformer model. #### `RAG_EMBEDDING_MODEL_TRUST_REMOTE_CODE` -* Default: `False` -* Description: Determines whether or not to allow custom models defined on the Hub in their own modeling files. +- Default: `False` +- Description: Determines whether or not to allow custom models defined on the Hub in their own modeling files. #### `RAG_TEMPLATE` -* Default: +- Default: + ``` Use the following context as your learned knowledge, inside XML tags. @@ -268,105 +272,106 @@ And answer according to the language of the user's question. Given the context information, answer the query. Query: [query] ``` -* Description: Template to use when injecting RAG documents into chat completion + +- Description: Template to use when injecting RAG documents into chat completion #### `CHUNK_SIZE` -* Default: `1500` -* Description: Sets the document chunk size for embeddings. +- Default: `1500` +- Description: Sets the document chunk size for embeddings. #### `CHUNK_OVERLAP` -* Default: `100` -* Description: Specifies how much overlap there should be between chunks. +- Default: `100` +- Description: Specifies how much overlap there should be between chunks. ### Speech to Text #### `WHISPER_MODEL` -* Default: `base` -* Description: Sets the Whisper model to use for Speech-to-Text. +- Default: `base` +- Description: Sets the Whisper model to use for Speech-to-Text. #### `WHISPER_MODEL_DIR` -* Default: `${DATA_DIR}/cache/whisper/models` -* Description: Specifies the directory to store Whisper model files. +- Default: `${DATA_DIR}/cache/whisper/models` +- Description: Specifies the directory to store Whisper model files. #### `WHISPER_MODEL_AUTO_UPDATE` -* Default: `False` -* Description: Toggles automatic update of the Whisper model. +- Default: `False` +- Description: Toggles automatic update of the Whisper model. ### Text to Speech #### `AUDIO_OPENAI_API_BASE_URL` -* Default: `${OPENAI_API_BASE_URL}` -* Description: Sets the OpenAI-compatible base URL to use for text-to-speech. +- Default: `${OPENAI_API_BASE_URL}` +- Description: Sets the OpenAI-compatible base URL to use for text-to-speech. #### `AUDIO_OPENAI_API_KEY` -* Default: `${OPENAI_API_KEY}` -* Description: Sets the API key to use for text-to-speech. +- Default: `${OPENAI_API_KEY}` +- Description: Sets the API key to use for text-to-speech. ### Image Generation #### `ENABLE_IMAGE_GENERATION` -* Default: `False` -* Description: Enables or disables image generation features. +- Default: `False` +- Description: Enables or disables image generation features. #### `IMAGE_GENERATION_ENGINE` -* Options: `openai`, `comfyui`, `automatic1111` -* Default: `automatic1111` -* Description: Specifies the engine to use for image generation. +- Options: `openai`, `comfyui`, `automatic1111` +- Default: `automatic1111` +- Description: Specifies the engine to use for image generation. #### `AUTOMATIC1111_BASE_URL` -* Description: Specifies the URL to Automatic1111's Stable Diffusion API. +- Description: Specifies the URL to Automatic1111's Stable Diffusion API. #### `COMFYUI_BASE_URL` -* Description: Specifies the URL to the ComfyUI image generation API. +- Description: Specifies the URL to the ComfyUI image generation API. #### `IMAGES_OPENAI_API_KEY` -* Default: `${OPENAI_API_KEY}` -* Description: Sets the API key to use for DALL-E image generation. +- Default: `${OPENAI_API_KEY}` +- Description: Sets the API key to use for DALL-E image generation. #### `IMAGES_OPENAI_API_BASE_URL` -* Default: `${OPENAI_API_BASE_URL}` -* Description: Sets the OpenAI-compatible base URL to use for DALL-E image generation. +- Default: `${OPENAI_API_BASE_URL}` +- Description: Sets the OpenAI-compatible base URL to use for DALL-E image generation. #### `IMAGE_SIZE` -* Default: `512x512` -* Description: Sets the default image size to generate. +- Default: `512x512` +- Description: Sets the default image size to generate. #### `IMAGE_STEPS` -* Default: `50` -* Description: Sets the default iteration steps for image generation. Used for ComfyUI and AUTOMATIC1111. +- Default: `50` +- Description: Sets the default iteration steps for image generation. Used for ComfyUI and AUTOMATIC1111. #### `IMAGE_GENERATION_MODEL` -* Description: Default model to use for image generation +- Description: Default model to use for image generation ### LiteLLM #### `ENABLE_LITELLM` -* Default: `True` -* Description: Enables the bundled LiteLLM instance. +- Default: `True` +- Description: Enables the bundled LiteLLM instance. #### `LITELLM_PROXY_PORT` -* Default: `14365` -* Description: Sets the port to run the bundled LiteLLM instance on. +- Default: `14365` +- Description: Sets the port to run the bundled LiteLLM instance on. #### `LITELLM_PROXY_HOST` -* Default: `127.0.0.1` -* Description: Sets the address to run the bundled LiteLLM instance on. +- Default: `127.0.0.1` +- Description: Sets the address to run the bundled LiteLLM instance on.