Самый надежный, быстрый и рекомендуемый разработчиками способ установки Open WebUI — использование Docker. Поскольку Ollama уже работает на этом же хосте, главная задача — правильно настроить сеть, чтобы контейнер Open WebUI мог «достучаться» до локального Ollama.

Ниже приведены два варианта установки через Docker. Вариант 1 — самый простой и рекомендуемый для связки на одном хосте.


Подготовка (если Docker еще не установлен)

Если Docker еще не стоит на вашем Debian 13, установите его официальной утилитой:

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# Перелогиньтесь в систему, чтобы права Docker применились

Вариант 1: Использование --network host (Рекомендуется)

Этот метод заставляет контейнер Open WebUI использовать сетевой стек хоста. Благодаря этому Open WebUI будет видеть localhost (и Ollama на порту 11434) точно так же, как и ваша основная система.

  1. Запустите контейнер: docker run -d \ -v open-webui:/app/backend/data \ --network host \ --name open-webui \ --restart always \ ghcr.io/open-webui/open-webui:main
  2. Доступ к интерфейсу:
    Откройте в браузере: http://<IP-адрес-вашего-сервера>:8080
    (Так как мы используем host сеть, Open WebUI займет порт 8080 напрямую на хосте).
  3. Первый вход:
    При первом открытии вам предложат создать учетную запись. Первый зарегистрированный пользователь автоматически получит права Администратора.

Вариант 2: Изолированная сеть Docker (Если нужен другой порт, например, 3000)

Если вы хотите, чтобы Open WebUI работал на порту 3000 (или другом), либо планируете в будущем ставить Nginx/Caddy реверс-прокси, нужно использовать стандартную сеть Docker.

В этом случае контейнер не сможет обратиться к Ollama по адресу 127.0.0.1, поэтому нужно сделать две вещи:

Шаг 2.1: Разрешить Ollama принимать запросы из сети Docker

По умолчанию Ollama слушает только 127.0.0.1. Нужно заставить его слушать все интерфейсы (или конкретно шлюз Docker).

  1. Откройте редактор переопределений systemd для Ollama:sudo systemctl edit ollama
  2. Добавьте следующие строки в открывшийся файл:[Service] Environment="OLLAMA_HOST=0.0.0.0"
  3. Сохраните файл и перезапустите Ollama:sudo systemctl daemon-reload sudo systemctl restart ollama

Шаг 2.2: Запуск Open WebUI с пробросом портов

Теперь запускаем контейнер, пробрасываем порт 3000 и указываем контейнеру, что Ollama находится на специальном DNS-имени host.docker.internal:

docker run -d \
  -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

Доступ к интерфейсу: http://<IP-адрес-вашего-сервера>:3000


⚠️ Важные нюансы для Debian 13

  1. Брандмауэр (UFW / iptables):
    Если вы планируете заходить в веб-интерфейс с других компьютеров в локальной сети, не забудьте открыть нужный порт в фаерволе: # Для Варианта 1 (порт 8080) sudo ufw allow 8080/tcp # Для Варианта 2 (порт 3000) sudo ufw allow 3000/tcpЕсли вы используете iptables напрямую вместо ufw, добавьте соответствующее правило в INPUT.
  2. Первый запуск может занять время:
    При самом первом старте контейнеру нужно инициализировать базу данных и подтянуть внутренние зависимости. Если страница долго грузится или выдает ошибку 502/504 — просто подождите 1-2 минуты и обновите страницу. Посмотреть статус можно командой: docker logs -f open-webui.
  3. Безопасность (Если сервер в интернете):
    Если ваш Debian 13 имеет белый IP-адрес в интернете, обязательно настройте реверс-прокси (Nginx/Caddy) с HTTPS-сертификатом (Let’s Encrypt) перед Open WebUI. Передача данных, логинов и запросов к LLM по открытому HTTP крайне нежелательна.
  4. Обновление в будущем:
    Когда выйдет новая версия Open WebUI, обновить её будет очень просто: docker pull ghcr.io/open-webui/open-webui:main # Затем просто пересоздайте контейнер (ваша база данных и настройки сохранятся в томе open-webui) docker stop open-webui && docker rm open-webui # И выполните команду docker run ... из Варианта 1 или 2 заново

OpenWEBUI не видит модель gemma3:12b работающую на Ollama

Это распространенная ситуация при связке Docker + Ollama на одном хосте. Давайте пройдемся по шагам от самого простого к более сложному, чтобы найти и устранить причину.

Шаг 1: Убедимся, что Ollama действительно видит модель

Выполните в терминале хоста (Debian):

ollama list

Убедитесь, что gemma3:12b есть в списке. Иногда модель может быть в процессе загрузки или называться иначе (например, просто gemma3 или gemma3:latest). Если её нет, загрузите её: ollama pull gemma3:12b.

Шаг 2: Проверим доступность API Ollama с хоста

Выполните команду:

curl http://127.0.0.1:11434/api/tags

Вы должны получить JSON-ответ со списком ваших моделей. Если ответ есть, значит Ollama работает корректно. Если ошибка «Connection refused» — служба Ollama не запущена.

Шаг 3: Проверьте настройки подключения внутри Open WebUI

  1. Откройте веб-интерфейс Open WebUI.
  2. Нажмите на свой аватар (внизу слева) → Admin Panel (Панель администратора).
  3. Перейдите в раздел Settings (Настройки) → Connections (Подключения).
  4. Посмотрите на поле Ollama Base URL.
    • По умолчанию там может быть указано http://ollama:11434. Это не сработает в режиме --network host, так как внутри контейнера нет DNS-имени ollama.
    • Измените его на: http://127.0.0.1:11434 или http://localhost:11434.
  5. Нажмите кнопку Save (Сохранить) или значок обновления справа от поля. Список моделей должен появиться.

Шаг 4: Настройте Ollama на прослушивание всех интерфейсов (Самая частая причина)

Даже при использовании --network host, служба Ollama в systemd по умолчанию может быть жестко привязана только к 127.0.0.1, что иногда вызывает конфликты маршрутизации с Docker. Нужно явно разрешить ей слушать 0.0.0.0.

  1. Откройте переопределение настроек службы Ollama:sudo systemctl edit ollama
  2. В открывшемся пустом редакторе (nano) вставьте следующие строки:[Service] Environment="OLLAMA_HOST=0.0.0.0:11434"
  3. Сохраните файл (Ctrl+O, Enter) и выйдите (Ctrl+X).
  4. Перезапустите службу Ollama, чтобы применить изменения:sudo systemctl daemon-reload sudo systemctl restart ollama
  5. После этого вернитесь в Open WebUI и снова нажмите «Refresh» в настройках подключений.

Шаг 5: Альтернативный вариант подключения (через реальный IP)

Если 127.0.0.1 упорно не работает, укажите в настройках Open WebUI (Connections) реальный LAN IP-адрес вашего сервера Debian.
Например: http://192.168.1.50:11434 (замените на ваш реальный IP, который можно узнать командой ip a). Это гарантированно обходит любые проблемы с localhost внутри Docker.

Шаг 6: Посмотрите логи Open WebUI

Если ничего не помогло, давайте посмотрим, какую именно ошибку выдает Open WebUI при попытке достучаться до Ollama:

docker logs open-webui | grep -i ollama

От alex

Обучаемый.