Оригинал: https://timofei-ermolaev.ru/courses/open-webui/install/choose/

# Выбираем схему установки

Поможем выбрать способ запуска Open WebUI, разобраться с хранением данных и доступом и перейти к подходящему уроку установки.

[![Тимофей Ермолаев](https://timofei-ermolaev.ru/_astro/timofei-ermolaev-portrait.s0mCFw-J_Z1x8STQ.webp)](<https://timofei-ermolaev.ru/ob-avtore/>)

[Тимофей Ермолаев](<https://timofei-ermolaev.ru/ob-avtore/>) Директор по информационным технологиям (CIO)

**Обновлено**

15 октября 2026 г.

**На урок**

6 мин

**Тема**

[Установка](<https://timofei-ermolaev.ru/courses/open-webui/install/>)

## После урока вы сможете

- Различать размещение сервисов и способ установки
- Понимать, как сохраняются данные Open WebUI
- Выбирать подходящий практический урок для своего сценария

**Проверяемый результат:** Понятно, где будут работать сервисы, как сохранятся данные и к какому уроку установки перейти.

В [предыдущем уроке](<https://timofei-ermolaev.ru/courses/open-webui/start/trebovaniya/>) мы оценили ресурсы для выбранного сценария Open WebUI. Теперь разберёмся, как установить приложение и связать его с сервисом модели. В документации встречаются Docker, Docker Compose, установка через Python и варианты с Ollama, но эти названия отвечают на разные вопросы. Соберём схему последовательно: решим, где разместить приложение и модель, как запускать сам интерфейс, где хранить данные, как устроить сетевой доступ и какой практический урок выбрать дальше.

## Где разместить Open WebUI и модель

Начнём с вашего сценария. Веб-интерфейс Open WebUI и сервис, который запускает языковую модель, выполняют разные роли. Приложение может работать на вашем рабочем компьютере или на выделенном сервере, а модель при этом способна находиться на той же машине, на соседнем сервере в вашей сети или у облачного провайдера. Сам способ установки Open WebUI не привязывает модель к конкретному месту и не гарантирует, что все данные обрабатываются локально.

Как показано в [руководстве по подключению провайдера](<https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/>) , один экземпляр Open WebUI поддерживает работу и с локальными серверами моделей, и с внешними API. Несколько подключений просто расширяют список доступных моделей внутри приложения и не требуют переустанавливать Open WebUI для каждого сервиса.

Здесь полезно разделять протокол обмена данными и фактическое место вычислений. Формулировка «подключение по OpenAI-совместимому API» описывает формат запросов, но не означает обязательную отправку текста в облако. Такой интерфейс поддерживают и локальные серверы моделей в вашей сети. Где именно генерируется ответ, зависит от выбранного сервиса и адреса подключения (endpoint).

Если вы запускаете собственную модель на своём оборудовании, стоит учитывать и остальные функции системы. Локальная генерация текста сама по себе не делает локальными обработку документов, создание эмбеддингов, поиск в интернете или работу с голосом. Если для этих задач подключены внешние сервисы, соответствующие данные будут уходить к ним независимо от того, как упакован и запущен сам Open WebUI.

## Как запускать само приложение

Когда место для интерфейса выбрано, нужно определить, как запускать приложение на этой машине. В [официальном руководстве быстрого старта](<https://docs.openwebui.com/getting-started/quick-start/>) установка через Docker официально поддерживается и рекомендуется для большинства сценариев. Там же упоминается альтернативный вариант установки через Python, когда окружение и зависимости настраивают непосредственно в системе. Если у вас уже принят такой подход, его можно учитывать, но практические уроки нашего курса построены вокруг контейнеров Docker.

Для выбора способа запуска нам понадобятся понятия образа и контейнера:

- **Образ (image)** представляет собой готовый шаблон, в который уже собраны файлы приложения, нужные библиотеки и базовые настройки. Подробнее его устройство описано в [материале Docker об образах](<https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-an-image/>) .
- **Контейнер (container)** создаётся из образа и запускает приложение как изолированный процесс со своим окружением. Как объясняется в [документации о контейнерах](<https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-a-container/>) , после остановки контейнер не исчезает сам по себе и остаётся в системе. Контейнер не заменяет физический сервер или виртуальную машину: для работы ему нужна среда запуска на вашем компьютере или сервере. В обоих практических вариантах курса контейнеры запускает Docker. Различается способ передачи настроек.

При прямом запуске через `docker run` все настройки портов и хранилища передаются сразу при создании контейнера. Во втором варианте используется файл конфигурации Docker Compose, в котором описаны сервисы, сети и тома. Как отмечено в [описании модели приложений Compose](<https://docs.docker.com/compose/intro/compose-application-model/>) , этот инструмент управляет контейнерами через Docker и подходит как для одного сервиса, так и для нескольких компонентов. В обоих случаях мы запускаем тот же Open WebUI; Compose позволяет сохранить описание запуска в файле.

В курсе мы подключаем Ollama отдельно от контейнера с Open WebUI. Разделение контейнера приложения и сервиса модели позволяет обновлять и настраивать их независимо друг от друга.

## Где хранить чаты, настройки и модели

После запуска в Open WebUI появятся учётные записи, история диалогов, настройки и загруженные файлы. Поскольку при обновлении версии приложения старый контейнер обычно удаляют и создают на его месте новый из свежего образа, рабочие данные нельзя оставлять только внутри самого контейнера.

Для сохранения данных в Docker используют постоянное хранилище, которое называется томом (volume). В стандартной схеме Open WebUI том подключают к внутреннему каталогу контейнера `/app/backend/data`. Согласно [документации Docker по томам](<https://docs.docker.com/engine/storage/volumes/>) , жизненный цикл тома отделён от жизненного цикла контейнера. При пересоздании контейнера данные остаются в прежнем томе. Чтобы Open WebUI снова увидел их, этот том подключают к новому контейнеру по тому же пути `/app/backend/data`. Отдельно сохраняют постоянный секретный ключ `WEBUI_SECRET_KEY`: его изменение завершает пользовательские сессии. Этот параметр описан в [Quick Start Open WebUI](<https://docs.openwebui.com/getting-started/quick-start/>) . Если удалить сам том или создать вместо него новое пустое хранилище, прежняя база данных в приложении не появится.

Том в Docker решает задачу сохранения данных между перезапусками и обновлениями контейнера, но не заменяет резервную копию. Если том будет случайно удалён или пострадает диск, данные пропадут. Поэтому регулярное создание копий остаётся отдельной задачей, которую мы разберём в уроке про [обновление и резервное копирование](<https://timofei-ermolaev.ru/courses/open-webui/operate/update-backup/>) .

Файлы самих языковых моделей хранятся там, где работает сервис модели. Подключение Ollama к Open WebUI не переносит гигабайты весов модели внутрь тома `/app/backend/data`. При отдельной установке Ollama мы учитываем два места хранения: том с базой и чатами Open WebUI и каталог, в котором держит свои модели выбранный вами сервер генерации.

## Как устроен доступ к интерфейсу и модели

В рабочей системе возникают две разные линии связи: браузер пользователя обращается к веб-интерфейсу Open WebUI, а сам Open WebUI обращается к сервису языковой модели. У этих соединений могут быть разные адреса. Поэтому открывшаяся в браузере страница входа подтверждает лишь то, что запущен веб-интерфейс, но ещё не доказывает, что приложение успешно связано с моделью и готово отвечать на вопросы.

При выборе адреса полезно разобраться, что означает `localhost` (или адрес `127.0.0.1`). Этот адрес всегда указывает на то самое устройство или изолированное окружение, откуда отправляется запрос. Когда вы вводите `localhost` в браузере на своём компьютере, браузер ищет Open WebUI на этом же компьютере. Если открыть тот же адрес с телефона или другого ноутбука, устройство попытается найти сервер внутри самого себя, а не на вашей рабочей машине.

В контейнерной схеме добавляется ещё один переход: приложение слушает свой внутренний порт внутри контейнера, а Docker связывает его с выбранным портом на хост-машине. Для личной работы на одном компьютере интерфейс обычно оставляют доступным только локально. Если же доступ нужен коллегам или домашним устройствам по сети, схему подключения продумывают отдельно, поскольку сам по себе запуск в контейнере не делает публикацию портов во внешнюю сеть безопасной.

## Какой практический маршрут выбрать дальше

Собранная схема объединяет ваши решения: где работают приложение и модель, как сохраняются данные и откуда открывается интерфейс. Осталось выбрать практический урок для вашей среды.

Для локальной установки подготовим одну подходящую среду: [Windows с Ubuntu WSL2 и Docker Desktop](<https://timofei-ermolaev.ru/courses/open-webui/install/windows-wsl/>) , [macOS с Docker Desktop](<https://timofei-ermolaev.ru/courses/open-webui/install/podgotovka-docker-dlya-macos/>) или [Ubuntu Linux с Docker Engine](<https://timofei-ermolaev.ru/courses/open-webui/install/podgotovka-docker-dlya-linux/>) . Уроки подготовки уже доступны. Они ведут к проверке Docker и рабочего терминала; само приложение устанавливается следующим шагом.

После подготовки выберем один способ запуска:

- [Docker Compose](<https://timofei-ermolaev.ru/courses/open-webui/install/docker-compose/>) подходит для продолжения всех трёх веток. В начале урока выберем свой терминал, затем сохраним общую конфигурацию и запустим Open WebUI.
- [Запуск через `docker run`](<https://timofei-ermolaev.ru/courses/open-webui/install/docker/>) описан для Windows, Docker Desktop и Ubuntu WSL2. Это альтернатива Compose, а не обязательный предыдущий этап.

На одном компьютере достаточно пройти один из этих уроков. После открытия интерфейса перейдём к [первому входу и настройкам доступа](<https://timofei-ermolaev.ru/courses/open-webui/configure/first-admin/>) , затем подключим [Ollama](<https://timofei-ermolaev.ru/courses/open-webui/configure/ollama/>) или [OpenAI-совместимый API](<https://timofei-ermolaev.ru/courses/open-webui/configure/openai-compatible/>) .

Для Desktop, Python, удалённого сервера и кластера предусмотрены отдельные ветки. Их место показано в [полной программе курса](<https://timofei-ermolaev.ru/courses/open-webui/#roadmap-title>) . Пока эти инструкции готовятся, не будем переносить на свою систему команды из другой среды: у способов запуска различаются подготовка и сопровождение.

## Материалы урока

- [Официальный раздел Getting Started docs.openwebui.com](<https://docs.openwebui.com/getting-started/>)

## Отметить прохождение

Отметьте урок после того, как получили проверяемый результат из практической части.

Урок пройден

![Тимофей Ермолаев](https://timofei-ermolaev.ru/_astro/timofei-ermolaev-portrait.s0mCFw-J_2r7Nkv.webp)

## Об авторе

### Тимофей Ермолаев

Директор по информационным технологиям (CIO)

Пишу о больших языковых моделях, автоматизации и применении ИИ в бизнесе. В статьях разделяю личный опыт, выводы исследований и практические рекомендации.

[Подробнее об авторе](<https://timofei-ermolaev.ru/ob-avtore/>)
