Skip to content

2.1.1 Frontend: Open WebUI

av edited this page Apr 26, 2025 · 7 revisions

Handle: webui
URL: http://localhost:33801

Demo GIF from official Open WebUI docs

GitHub stars GitHub forks GitHub watchers GitHub repo size GitHub language count GitHub top language GitHub last commit Discord

Extensible, self-hosted interface for AI that adapts to your workflow. Open WebUI provides plenty of features and QoL goodies for working with LLMs. Notably:

  • Model management - create model instances with pre-configured settings, chat with multiple models at once
  • Prompt library
  • Persistent chat history
  • Document RAG
  • Web RAG
  • Tools, Functions, Filters

Starting

webui is one of the default services in Harbor, so you don't need to specify anything special to start it.

# [Optional] Pre-pull the image
harbor pull webui

# Open WebUI is one of the default services,
# so you don't need to specify the handle explicitly
harbor up

# However, you can also start it explicitly
harbor up webui

See harbor defaults on managing default services.

See troubleshooting guide if you encounter any issues.

  • Since webui is a default service, it will be started automatically when you run harbor up without any arguments.
  • Being default - it means most inference engines and other tools are pre-configured to connect to webui automatically when running together. Some examples:
    • harbor up webui metamcp mcpo - use MCP servers as tools in Open WebUI
    • harbor up webui searxng - Use SearxNG as a Web RAG tool in Open WebUI
    • harbor up webui comfyui - Use ComfyUI for image generation in Open WebUI
    • harbor up webui speaches - Use Speeches for TTS/STT in WebUI
    • harbor up webui pipelines - Use Open WebUI Pipelines for LLM orchestration
    • See $(harbor home)/open-webui/configs for all available integrations

Configuration

You can configure Open WebUI in three ways:

  • Via WebUI itself: changes are saved in the webui/config.json file, Harbor may override them on restart
    • Copy config changes to the webui/configs/config.override.json in order to persist them over Harbor's default config
  • Via environment variables: changes are applied after restarting the Harbor

Harbor CLI allows configuring following options:

# Override the WebUI image version
harbor webui version dev-cuda

# Override WebUI default name
harbor webui name "Jarvis"

# Specify custom secret for JWT tokens
harbor webui secret sk-203948

# Set to DEBUG for more visibility
harbor webui log DEBUG

Following options can be set via harbor config:

# The port on the host where WebUI will be available
WEBUI_HOST_PORT                33801

# Custom secret for JWT tokens
WEBUI_SECRET                   h@rb0r

# Name of the WebUI instance
WEBUI_NAME                     Harbor

# Log level for WebUI
WEBUI_LOG_LEVEL                INFO

# WebUI image version
WEBUI_VERSION                  main

# Docker image to use for the service
# You can switch to a custom build if needed
HARBOR_WEBUI_IMAGE             ghcr.io/open-webui/open-webui:main

Additionally, all environment variables from the official example can be set according to Harbor's environment configuration guide.

# Example: set ENABLE_REALTIME_CHAT_SAVE env variable value
harbor env webui ENABLE_REALTIME_CHAT_SAVE false

# Example: get ENABLE_REALTIME_CHAT_SAVE env variable value
harbor env webui ENABLE_REALTIME_CHAT_SAVE

Override Harbor Config

Harbor will assemble a custom configuration from many pieces that matches the set of services you're running with Open WebUI.

# This location contains individual configuration parts matching
# the services that might integrate with Open WebUI
open $(harbor home)/open-webui/configs

See docs on Config Merging to learn more about this process.

When you need to override a webui configuration set by Harbor, there's a special file that is applied after all Harbor's built-in configs, so its contents will always take precedence.

open $(harbor home)/open-webui/configs/config.override.json

You can obtain the sample JSON config with your settings from your Open WebUI instance:

Export Config action

Clone this wiki locally