{
  "slug": "open-webui",
  "name": "Open WebUI",
  "category": "Frontends / Chat UIs",
  "tagline": "A self-hosted, ChatGPT-style interface for Ollama and any OpenAI-compatible endpoint.",
  "kit_says": "This is what makes a local stack feel like a product: chat history, model picker, documents, the works.",
  "homepage": "https://openwebui.com/",
  "repo": "https://github.com/open-webui/open-webui",
  "docs": "https://docs.openwebui.com/",
  "license": "Open WebUI License (includes a requirement to preserve 'Open WebUI' branding; see LICENSE and LICENSE_HISTORY)",
  "platforms": [
    "macos-apple-silicon",
    "linux",
    "windows"
  ],
  "mac_studio_fit": "Primary",
  "what_it_is": "A self-hosted web UI for LLMs. Installs via pip, uv, Docker or Kubernetes; connects to Ollama and OpenAI-compatible APIs.",
  "gap_role": "Closes the UX gap with frontier chat apps: multi-model chat, RAG over documents, user accounts.",
  "prerequisites": [
    "Python 3.11 (the README warns other versions may cause compatibility issues) OR Docker",
    "A model backend such as Ollama"
  ],
  "install": {
    "macos-apple-silicon": [
      {
        "run": "brew install python@3.11"
      },
      {
        "run": "python3.11 -m venv ~/.venvs/openwebui && source ~/.venvs/openwebui/bin/activate"
      },
      {
        "run": "pip install open-webui"
      },
      {
        "run": "# Docker alternative (UI on port 3000):\ndocker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main"
      }
    ],
    "linux": [
      {
        "run": "pip install open-webui   # inside a Python 3.11 venv"
      },
      {
        "run": "# or Docker: same docker run command as macOS"
      }
    ],
    "windows": [
      {
        "run": "pip install open-webui   # inside a Python 3.11 venv, or use Docker Desktop with the docker run command"
      }
    ]
  },
  "configure": [
    {
      "run": "open-webui serve",
      "note": "pip install: UI at http://localhost:8080"
    },
    {
      "run": "# Ollama on the same machine is detected at its default address; for a remote Ollama set -e OLLAMA_BASE_URL=... on docker run"
    }
  ],
  "verify": [
    {
      "run": "curl -sI http://localhost:8080 | head -1",
      "expect": "HTTP 200 (pip) — use port 3000 for the Docker command"
    },
    {
      "run": "docker ps --filter name=open-webui",
      "expect": "container listed as Up (Docker install)"
    }
  ],
  "rollback": [
    {
      "run": "pip uninstall -y open-webui && rm -rf ~/.venvs/openwebui",
      "note": "pip install"
    },
    {
      "run": "docker rm -f open-webui && docker volume rm open-webui",
      "note": "Docker install; the volume holds chats/users, irreversible"
    }
  ],
  "caveats": [
    "Default pip port 8080 collides with mlx_lm.server and llama.cpp's server defaults."
  ],
  "works_with": [
    "ollama",
    "llama-cpp",
    "mlx-lm",
    "lm-studio",
    "litellm"
  ],
  "sources": [
    "https://github.com/open-webui/open-webui",
    "https://docs.openwebui.com/"
  ],
  "sponsored": false,
  "verified_on": "2026-10-15",
  "gap_score": {
    "value": null,
    "status": "pending test on Mac Studio",
    "baseline": "frontier reference (see /about#gap-score)"
  },
  "benchmarks": {
    "status": "pending test on Mac Studio",
    "rig": "Mac Studio, Apple Silicon, 128GB unified memory",
    "results": []
  },
  "hardware_tested": [],
  "repo_meta": {
    "stars": 155789,
    "stars_as_of": "2026-10-15",
    "last_push": "2026-10-15",
    "archived": false,
    "license_spdx": "NOASSERTION"
  },
  "stack_layer": "harness",
  "summary": {
    "what": "A ChatGPT-style app for your local models.",
    "why": "Makes a local stack feel like a finished product."
  }
}