Open WebUI и Ollama на своём ПК: нужна ли связка из двух сервисов
Как поставить Open WebUI через Docker или pip, как подключить Ollama через OLLAMA_BASE_URL и в какой момент веб-интерфейс поверх локальной модели перестаёт себя окупать.
Ollama работает в терминале и не имеет интерфейса. Open WebUI даёт браузерный чат, похожий на ChatGPT. Логика связки понятна, и почти все инструкции в поиске описывают именно её.
Почти все эти инструкции при этом написаны хостерами и заканчиваются предложением поднять всё в облаке. Для домашней машины расчёт получается другой, и об этом стоит сказать до установки.
Как поставить
Два способа, оба официальные.
Через Docker:
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main
Через Python, если Docker ставить не хочется:
pip install open-webui
open-webui serve
Интерфейс открывается на http://localhost:3000. Внутри контейнера приложение слушает 8080 —
отсюда странная на вид пара портов в команде.
Есть и сборка, где Open WebUI и Ollama лежат в одном контейнере, с тегом :ollama. Она
избавляет от возни со связыванием двух сервисов, но привязывает обновление одного к другому.
Как подключить Ollama
Если Ollama работает на той же машине, Open WebUI обычно находит её сам. Если нет, адрес задаётся переменной окружения:
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://192.168.1.10:11434 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main
Самая частая ошибка на этом шаге: указать localhost в переменной для контейнера. Внутри
контейнера localhost — это сам контейнер, а не твой компьютер. Нужен либо адрес машины в
сети, либо специальное имя хоста, которое пробрасывает Docker.
Про то, чем Ollama отличается от LM Studio как источник моделей, есть отдельный разбор.
Что получаешь
Интерфейс приличный, и это не просто окно чата. Есть база знаний с загрузкой документов и поиском по ним, заметки, каналы, управление моделями, разграничение доступа и админка. Плюс расширяемость: инструменты и функции на Python, скиллы в виде markdown-инструкций, конвейеры-пайплайны и поддержка MCP. Про эту часть у нас есть отдельная статья.
Набор внушительный. Проблема в том, что он собран под другой сценарий.
Для кого это на самом деле
Open WebUI спроектирован как многопользовательская платформа. Аутентификация, роли, разграничение доступа к моделям, масштабирование, наблюдаемость в проде — всё это имеет смысл, когда за одним сервером сидит команда.
Если пользователь один, половина возможностей превращается в лишние экраны. Ты администрируешь платформу ради того, чтобы поговорить с моделью, которая уже стоит на этом же компьютере.
Плюс архитектурная цена. У тебя теперь два сервиса вместо одного: Ollama держит модель, Open WebUI держит интерфейс и свою базу. Оба надо обновлять, оба могут сломаться по отдельности, и типичная поломка выглядит как «модели не видны в списке» — а причина где-то в сети между контейнерами.
Когда связка оправдана
Она оправдана в трёх случаях. Первый: моделью пользуется несколько человек, и нужны учётки и права. Второй: сервер с видеокартой стоит отдельно, а ходишь ты с ноутбука. Третий: ты осознанно строишь платформу и тебе нужны пайплайны и своя логика на Python.
Во всех трёх Open WebUI — сильный и, пожалуй, лучший открытый вариант.
Когда не оправдана
Если пользователь один и машина одна, ты ставишь две программы ради интерфейса, который можно получить одной. И получаешь при этом чат — то есть по-прежнему копируешь результат в файлы руками.
Дока закрывает тот же сценарий одним приложением: локальная модель ставится из интерфейса, ничего связывать не нужно, а работа идёт не в окне чата, а с файлами и терминалом напрямую. MCP-серверы подключаются там же, а задачи можно ставить по расписанию.
Честный критерий выбора такой: если тебе нужен веб-интерфейс, потому что к модели ходят разные люди с разных устройств, ставь Open WebUI и не сомневайся. Если веб-интерфейс нужен просто потому, что у Ollama нет своего, — это лишний слой, и десктопное приложение решает задачу короче.