Skip to content

Open WebUI

Overview

  • Self-Hosted Web Interface: Provides web and API-based interaction with Large Language Models (LLMs).
  • Formerly Ollama WebUI: It was rebranded from "Ollama WebUI" to reflect its expanded support for many different LLM backends beyond just Ollama.
  • Intuitive Chat Experience: Provides a familiar, user-friendly chat interface similar to popular services.
  • Chat With Your Documents: A key feature is Retrieval-Augmented Generation (RAG), allowing you to upload documents and ask questions about their content.
  • Multi-Modal Support: The interface supports interacting with vision models, allowing you to upload images and ask questions about them.
  • Many More Features

Up and Running

Setup Database

podman exec -ti -u postgres postgres psql
  CREATE USER openwebui PASSWORD 'PUT_OPENWEBUI_DB_PASSWORD_HERE';
  CREATE DATABASE openwebui OWNER openwebui;
  \c openwebui
  CREATE EXTENSION vector;
  select * from pg_extension;
  \q

Launch openwebui

podman run -d \
  --name openwebui \
  --network llm-stack \
  -e DATABASE_URL="postgresql://openwebui:PUT_OPENWEBUI_DB_PASSWORD_HERE@postgres:5432/openwebui" \
  -e WEBUI_SECRET_KEY="PUT_A_RANDOM_STRING_HERE" \
  -e VECTOR_DB="pgvector" \
  -e ENABLE_WEB_SEARCH="True" \
  -e WEB_SEARCH_ENGINE="duckduckgo" \
  -e ENABLE_OLLAMA_API="False" \
  -e OPENAI_API_BASE_URL="http://litellm:4000" \
  -e OPENAI_API_KEY="PUT_LITELLM_KEY_HERE" \
  -e CONTENT_EXTRACTION_ENGINE="tika" \
  -e TIKA_SERVER_URL="http://tika:9998" \
  -e ENABLE_COMMUNITY_SHARING="False" \
  -e ENABLE_MESSAGE_RATING="False" \
  -e ENABLE_FOLLOW_UP_GENERATION="False" \
  -e ENABLE_EVALUATION_ARENA_MODELS="False" \
  -e TASK_MODEL="my-gemini-2.5-flash" \
  -e TASK_MODEL_EXTERNAL="my-gemini-2.5-flash" \
  -e RAG_EMBEDDING_ENGINE="openai" \
  -e RAG_OPENAI_API_BASE_URL="http://litellm:4000" \
  -e RAG_OPENAI_API_KEY="PUT_LITELLM_KEY_HERE" \
  -e RAG_EMBEDDING_MODEL="my-bge-m3:567m" \
  -e REDIS_URL="redis://:PUT_REDIS_PASSWORD_HERE@redis:6379/0" \
  -p 8080:8080 \
  ghcr.io/open-webui/open-webui:v0.6.18


podman logs -f openwebui

# Open the firewall so port 8080 for external access
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

Usage

# Inspect database
podman exec -ti -u postgres postgres psql openwebui
  \d
  \q