Open WebUI + Ollama: как сделать свой ChatGPT дома с локальными моделями, файлами и RAG
Open WebUI — self-hosted веб-интерфейс для локальных и облачных LLM. Он не содержит собственных моделей: к нему подключают Ollama, OpenAI-compatible серверы, OpenAI, Anthropic и другие backends. В результате на одном адресе можно получить историю чатов, файлы, knowledge bases, пользователей, tools и несколько моделей — при этом inference локальной модели остаётся на вашем компьютере или сервере.
Open WebUI — это интерфейс и платформа вокруг LLM, а не сама языковая модель
Самая частая ошибка — считать Open WebUI аналогом Ollama. На самом деле уровни разные. Ollama загружает и обслуживает модели, а Open WebUI предоставляет пользователю интерфейс, управление подключениями, историю, знания, доступы и дополнительные инструменты.
Ollama может работать на том же ПК, другом сервере или внутри общего container setup.
Можно одновременно добавить API-провайдеров и выбирать модель в одном интерфейсе.
Есть пользователи, роли, группы и механизмы SSO для командных установок.
Сам Open WebUI разворачивается у вас, но приватность inference зависит от выбранного backend.
Open WebUI и Ollama: что делает каждый компонент
Для скриптов, Home Assistant, coding-agent или собственного приложения может быть достаточно Ollama. Open WebUI имеет смысл, когда нужен именно удобный пользовательский слой.
Установка Open WebUI 0.11.3 рядом с уже работающим Ollama
Для постоянной установки лучше не использовать плавающий тег :main.
Документация Open WebUI рекомендует pin конкретной stable-версии для воспроизводимых production deployments.
1. Сгенерировать постоянный secret key
openssl rand -hex 32
Полученное значение нужно сохранить: при его смене существующие пользовательские сессии перестанут работать.
2. Запустить контейнер
docker run -d \
-p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
-e WEBUI_SECRET_KEY=ВАШ_СЕКРЕТНЫЙ_КЛЮЧ \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:v0.11.3
После запуска интерфейс будет доступен на http://localhost:3000.
Первый зарегистрированный пользователь становится администратором.
3000:8080
Слева порт хоста, справа внутренний порт Open WebUI.
open-webui:/app/backend/data
Без persistent volume потеряются chats, users и settings при пересоздании контейнера.
host.docker.internal
Добавленный host gateway позволяет контейнеру обратиться к Ollama на основной системе.
--restart always
Контейнер автоматически возвращается после перезагрузки Docker/хоста.
Локальная установка и публичный сервис — это разные сценарии. Для удалённого доступа нужен отдельный security layer.
Можно запустить Open WebUI и Ollama в одном container image
Официальный image variant -ollama содержит оба компонента.
Это удобно для простого домашнего сервера, но хуже разделяет ответственность и обновления.
NVIDIA GPU
docker run -d \
-p 3000:8080 \
--gpus=all \
-v ollama:/root/.ollama \
-v open-webui:/app/backend/data \
-e WEBUI_SECRET_KEY=ВАШ_СЕКРЕТНЫЙ_КЛЮЧ \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:v0.11.3-ollama
Отдельный Ollama проще переносить на другой GPU-сервер, обновлять независимо и использовать одновременно из Home Assistant, scripts и других приложений.
Как подключить Ollama и облачные API
Ollama на том же компьютере
Для Docker Open WebUI обычно обращается к Ollama через
http://host.docker.internal:11434.
Connection настраивается в Settings → Admin → Connections.
OLLAMA_BASE_URL=http://host.docker.internal:11434
Ollama на отдельном сервере
OLLAMA_BASE_URL=http://192.168.1.50:11434
Если Open WebUI и Ollama находятся на разных площадках, соединяйте их через VPN, private network
или защищённый gateway, а не через голый публичный :11434.
OpenAI-compatible backend
В Admin → Connections можно добавить API URL и ключ. Это подходит не только для OpenAI, но и для локальных/удалённых серверов, которые реализуют совместимый API.
Локальные GGUF/модели, управление через Ollama API.
LocalAI, vLLM и другие совместимые endpoints.
Один UI может показывать локальные и облачные модели одновременно.
Можно добавить несколько instances; Open WebUI поддерживает базовое распределение запросов между совпадающими model IDs.
Chats, users и settings должны жить вне контейнера
В стандартной Docker-конфигурации приложение хранит persistent data в
/app/backend/data. Именно поэтому официальный quick start монтирует volume
open-webui:/app/backend/data.
Пересоздание ephemeral container не должно уничтожать данные.
Особенно перед major/minor update и изменениями auth.
Не публиковать его в Git и не генерировать заново при каждом deploy.
Так можно точно понять, с какой версии выполнялся backup и rollback.
Open WebUI можно использовать как интерфейс для RAG и собственных документов
Пользователь может прикреплять файлы к чату и создавать knowledge bases. Open WebUI разбивает документы, строит embeddings через настроенный embedding backend и подмешивает найденные фрагменты в запрос к модели.
Подходит, когда PDF или таблица нужны только в конкретном разговоре.
Набор документов можно связать с моделью или использовать повторно.
Для полностью локального сценария embeddings тоже должны вычисляться локальной моделью.
Если embedding engine или reranker обращается к облаку, часть содержимого документов может покидать локальную сеть. Проверяйте все backends, а не только основную chat model.
Для дома лучше VPN, для публичного сервиса — reverse proxy + отдельный access layer
Не нужно открывать Open WebUI в глобальный интернет. Клиенты видят сервис внутри защищённой mesh/VPN-сети.
Нужны TLS, WebSocket/SSE settings, rate limiting и дополнительный контроль доступа.
Аутентификация происходит до запроса к самому Open WebUI.
Для домашнего сервера private VPN обычно проще и безопаснее, чем открытый порт на роутере.
У Open WebUI большой attack surface, поэтому старую версию нельзя оставлять «как есть»
Open WebUI — это не статическая страница. Он хранит пользователей и chats, умеет работать с knowledge, OAuth/SSO, tools, web loaders, terminal integrations и server-side requests. Чем больше функций включено, тем больше поверхность атаки.
High advisory затрагивал версии до 0.11.1 при определённых OAuth/SCIM условиях; исправлен в 0.11.1.
High issue при shared terminal configuration также закрыт в 0.11.1.
Дополнительный внешний access layer должен защищать приложение до его собственной формы входа.
TLS защищает session data, uploads и API credentials между браузером и сервером.
Proxy обязан удалять входящие заголовки и самостоятельно добавлять подтверждённую identity.
Hardening guide рекомендует держать OAUTH_MERGE_ACCOUNTS_BY_EMAIL=false, если безопасность провайдера не проверена.
Минимальный домашний security baseline
WEBUI_SECRET_KEY.Но это веская причина относиться к Open WebUI как к полноценному веб-приложению, которое нужно обновлять и сегментировать, а не как к безобидному локальному HTML-интерфейсу.
Приватность Open WebUI определяется всей цепочкой, а не местом установки интерфейса
UI, chats, inference и embeddings остаются на своих машинах, если все используемые backends локальны.
Интерфейс self-hosted, но prompt и связанные данные отправляются выбранному внешнему провайдеру.
Дополнительные функции способны обращаться к интернету и сторонним сервисам независимо от основной модели.
Локальный chat model не гарантирует локальную обработку загруженных документов.
Начиная с v0.6.6 Open WebUI использует собственную лицензию с защитой брендинга
Код проекта публичен, его можно self-host, модифицировать и использовать, но современная лицензия содержит отдельные ограничения на удаление или изменение брендинга Open WebUI. Документация проекта прямо указывает, что эта лицензия не является OSI-approved open source license.
Лицензия описывает порог по пользователям в rolling 30-day period.
Либо требуется соответствующее письменное разрешение / enterprise license.
Старые материалы сохраняют прежние условия лицензирования.
Но для white-label, SaaS или корпоративного rebranding лицензию нужно читать до внедрения, а не после.
Контейнер можно пересоздавать — данные должны оставаться в volume
Пример обновления pinned Docker image
# 1. Сделать backup persistent data
# 2. Скачать новую проверенную версию
docker pull ghcr.io/open-webui/open-webui:vX.Y.Z
# 3. Остановить и удалить старый container
docker stop open-webui
docker rm open-webui
# 4. Запустить новый container
# с ТЕМ ЖЕ volume и ТЕМ ЖЕ WEBUI_SECRET_KEY
При Docker Compose обычно достаточно изменить pinned image version,
затем выполнить docker compose pull и docker compose up -d.
Для домашнего тестового сервера это допустимо. Для рабочего экземпляра лучше прочитать release notes, сделать backup и обновляться контролируемо.
Open WebUI не решает ограничения самой модели и вашего железа
Скорость inference определяется моделью, quantization, CPU/GPU и backend.
Плохие chunks, embeddings или retrieval приводят к плохому контексту.
Красивый браузерный интерфейс не отменяет VRAM/RAM requirements.
Community tool может выполнять server-side действия и требует отдельной проверки.
Появляются роли, sharing, knowledge permissions, OAuth и необходимость hardening.
Для rebranding и коммерческих сценариев есть дополнительные лицензионные условия.
Ollama + Open WebUI в LAN/VPN, без публичных портов, SSO, terminal integrations и лишних plugins.
Какую схему выбрать
Минимум сетевой сложности. Хорошо для первого знакомства.
Удобно, если model runtime должен обслуживать несколько клиентов.
Удалённый доступ без публикации сервиса во внешний интернет.
Пользователи, роли, backups, monitoring и регулярные security updates уже обязательны.
Документация, releases, лицензия и security Open WebUI
На момент проверки последний stable GitHub release — v0.11.3.
Open WebUI — хороший пользовательский слой для локального ИИ, если не путать удобство с безопасностью
Для домашнего сценария связка Ollama + Open WebUI даёт понятный результат: локальная модель становится доступна из браузера, появляются история, файлы, knowledge и нормальный интерфейс. При этом сам runtime можно оставить отдельным и использовать из других приложений.
Но по мере добавления пользователей, публичного доступа, plugins, SSO и tools Open WebUI превращается в полноценное веб-приложение с соответствующими требованиями к обновлениям и защите. Самый разумный старт — локальная сеть или VPN, pinned stable version и минимум дополнительных компонентов.
Частые вопросы об Open WebUI
Open WebUI — это локальная нейросеть?
Нет. Это интерфейс и платформа. Сама модель работает в Ollama, OpenAI-compatible backend или облачном API.
Можно ли использовать Open WebUI полностью без интернета?
Да, если UI, Ollama, модели, embeddings и остальные используемые компоненты уже установлены локально и не требуют внешних API.
Нужно ли устанавливать Ollama внутрь Open WebUI?
Нет. Ollama может работать отдельным процессом или на другом сервере. Для домашней инфраструктуры такое разделение часто удобнее.
Как открыть Open WebUI с телефона?
Для домашнего доступа лучше использовать Tailscale или WireGuard. Открывать порт напрямую в интернет не рекомендуется.
Open WebUI — open source?
Исходный код публичен, но с v0.6.6 применяется собственная лицензия с branding restriction. Документация проекта прямо указывает, что она не OSI-approved.
Какая версия актуальна?
На момент проверки 21 сентября 2026 года последний stable release — v0.11.3.
Безопасно ли выставлять Open WebUI в интернет?
Не напрямую. Официальный hardening guide рекомендует VPN, Zero Trust или reverse proxy с дополнительным access control и HTTPS.
Можно ли подключить одновременно локальную и облачную модель?
Да. Один Open WebUI может показывать модели из Ollama и внешних API в общем selector.
Нужно подобрать схему локального AI-сервера, Ollama и безопасного удалённого доступа?
Можно прислать характеристики ПК/NAS/сервера и задачу. Подберём модель, runtime, интерфейс и сетевую схему без лишнего открытия сервисов в интернет.
