Установка Ollama в Ubuntu 26.04 LTS с Open WebUI

Локальные LLM превратились из «классной демонстрации» в «то, что действительно запускается на Linux-машине». Ollama — самый простой способ сделать это в Ubuntu. Один установочный скрипт, один бинарник, модуль systemd на порту 11434 и реестр моделей, который загружает квантованные GGUF точно так же docker pull , как загружается изображение.

Оригинальный контент с computingforgeeks.com — пост № 166630

В этом руководстве описана установка Ollama на Ubuntu 26.04 LTS (Resolute Raccoon), загрузка модели llama3.2 с 1,2 млрд параметров, которая комфортно работает на ЦП, а затем подключение Open WebUI за Nginx и с использованием настоящего сертификата Let’s Encrypt, чтобы вы получили частное веб-приложение в стиле ChatGPT на собственном сервере. Путь установки идентичен для Ubuntu 24.04 LTS.

Протестировано на Ubuntu 26.04 LTS и 24.04 LTS с Ollama 0.32.1 — по состоянию на август 2026 года это по-прежнему актуальная версия линейки 0.32.

Что вы получите в итоге

  • Ollama, работающая как служба systemd на 127.0.0.1:11434 с REST и API, совместимыми с OpenAI
  • Рабочая модель чата (llama3.2:1b для ЦП или любая более крупная модель, если у вас есть графический процессор и оперативная память)
  • Open WebUI в Docker, взаимодействующий с Ollama через loopback
  • Nginx в качестве обратного прокси на порту 443 с HTTP/2 и настоящим сертификатом Let’s Encrypt
  • Брандмауэр UFW, ограниченный только SSH и портами 80/443

Необходимые условия

  • Сервер Ubuntu 26.04 LTS или 24.04 LTS с правами root или sudo. Подойдет свежеустановленный облачный образ Ubuntu Server.
  • Не менее 8 ГБ оперативной памяти и 4 виртуальных процессора (vCPU) для инференции небольших моделей (с количеством параметров от 1 до 3 миллиардов). Для более крупных моделей требуется больше ресурсов — см. таблицу размеров моделей ниже.
  • Поддомен, который вы контролируете, с записью A, указывающей на сервер, а также порт 80, доступный из Интернета для проверки Let’s Encrypt HTTP-01. Подходит любой провайдер DNS (Namecheap, Google Domains, Route 53, Cloudflare и т. д.). Если у вашего хоста нет общедоступного порта 80 (частная локальная сеть, за корпоративным брандмауэром), в этой статье ниже описана альтернатива DNS-01.
  • SSH-доступ к серверу. Если вы ещё не выполнили базовые настройки, сначала пройдите этап «Начальная настройка сервера с Ubuntu 26.04 LTS».

Для Proxmox или других хостов виртуализации на базе QEMU установите тип процессора виртуальной машины на host , а не значение по умолчанию kvm64. Входящий в комплект контейнера Open WebUI пакет numpy требует SSE4.2 / AVX, которые kvm64 не поддерживает, и контейнер завершит работу с ошибкой RuntimeError: NumPy was built with baseline optimizations: (X86_V2). На физических серверах и у большинства облачных провайдеров эта проблема не возникает.

Шаг 1: Задайте переменные оболочки для повторного использования

Каждая команда в этом руководстве использует один и тот же домен и адрес электронной почты администратора, поэтому экспортируйте их один раз в начале сеанса SSH, и остальная часть статьи будет выполняться без изменений:

export OLLAMA_DOMAIN="ollama.example.com"
export ADMIN_EMAIL="[email protected]"

Убедитесь в этом, прежде чем продолжить. Пустые переменные незаметно приведут к сбою шагов с certbot и nginx позже:

echo "Domain: ${OLLAMA_DOMAIN}"
echo "Email:  ${ADMIN_EMAIL}"

Если вы переподключитесь или перейдете в sudo -i, запустите блок export заново. Эти значения намеренно не сохраняются между сессиями оболочки.

Шаг 2: Установка Ollama в Ubuntu

Ollama поставляется со скриптом установки, который определяет ОС и архитектуру, загружает нужный бинарник в /usr/local/bin/, создаёт системного пользователя и регистрирует модуль systemd. Он учитывает только версию ядра и архитектуру процессора, но никогда — версию Ubuntu, поэтому именно эта команда запускается как в 26.04, так и в 24.04:

curl -fsSL https://ollama.com/install.sh | sh

Скрипт загружает бинарный файл Ollama вместе с входящими в комплект библиотеками выполнения для ЦП и ГП, устанавливает ollama системного пользователя, помещает файл модуля в /etc/systemd/system/ollama.serviceи запускает демон. На компьютере, использующем только ЦП, скрипт завершается чётким сообщением о режиме работы:

>>> The Ollama API is now available at 127.0.0.1:11434.
>>> Install complete. Run "ollama" from the command line.
WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode.

Убедитесь в версии и в том, что служба прослушивает петлевой интерфейс:

ollama --version
systemctl is-active ollama
ss -tlnp | grep 11434

Выводится версия, служба сообщает, что она активна, а сокет привязан к петлевому интерфейсу:

ollama version is 0.32.1
active
LISTEN 0 4096 127.0.0.1:11434 0.0.0.0:*

Стоит обратить внимание на две вещи. Демон привязывается только к 127.0.0.1 , поэтому он недоступен извне, пока мы не запустим Open WebUI в качестве интерфейса. Кроме того, он работает от имени ollama системным пользователем, а файлы моделей записываются в /usr/share/ollama/.ollama/models/— именно там следует искать причину, если диски заполняются.

Шаг 3: Загрузите модель и запустите тест на инференцию

Выберите модель, подходящую для вашего оборудования. Библиотека Ollama отслеживает количество параметров, степень квантования и размер дискового пространства для каждой модели. В качестве ориентира:

Модель Диск Минимальный объем ОЗУ (ЦП) Тег
Llama 3.2 1B (быстрый тест процессора) 1,3 ГБ 4 ГБ llama3.2:1b
Llama 3.2 3B 2,0 ГБ 6 ГБ llama3.2:3b
Llama 3.1 8B 4,7 ГБ 10 ГБ llama3.1:8b
Mistral 7B Instruct 4,1 ГБ 10 ГБ mistral:7b
Qwen 2.5 14B 9,0 ГБ 16 ГБ qwen2.5:14b
DeepSeek-R1 Distill 8B 4,9 ГБ 10 ГБ deepseek-r1:8b

Пока что загрузите меньшую версию. Позже всегда можно будет добавить ещё:

ollama pull llama3.2:1b

Отобразите список установленных моделей и проверьте архитектуру. ollama show — это наиболее близкий аналог в рамках проекта docker inspect:

ollama list
ollama show llama3.2:1b

Вывод подтверждает, что модель находится на диске, и сообщает о её возможностях:

NAME           ID              SIZE      MODIFIED
llama3.2:1b    baf6a787fdff    1.3 GB    52 seconds ago

  Model
    architecture        llama
    parameters          1.2B
    context length      131072
    embedding length    2048
    quantization        Q8_0

  Capabilities
    completion
    tools

Теперь запустите команду с флагом --verbose , который выводит поля с временными показателями, чтобы вы могли измерить количество токенов в секунду на своём оборудовании:

ollama run llama3.2:1b "In one sentence, what is a Linux container?" --verbose

Модель отвечает, после чего Ollama выводит время загрузки и скорость генерации:

A Linux container is a lightweight, portable way to package an application and
its dependencies so it runs isolated on a shared host kernel.

total duration:       4.564548259s
load duration:        2.166374659s
prompt eval rate:     78.13 tokens/s
eval count:           36 token(s)
eval rate:            18.49 tokens/s

На тестовой машине — виртуальной машине с 4 виртуальными процессорами без графического процессора — модель объёмом 1 млрд параметров генерировала около 18 токенов в секунду после загрузки весов, причём при «холодном» запуске на загрузку модели в оперативную память уходило примерно две секунды. Этого вполне достаточно для личного помощника и несложной автоматизации. Ожидайте, что скорость примерно вдвое снизится для модели объёмом 3B, а модели объёмом 7B и более станут неприятно медленными при использовании только ЦП.

Если вы предпочитаете создавать скрипты для работы с демоном, то для того же вывода достаточно одного HTTP-вызова к REST-API, а в ответе в формате JSON содержатся те же поля, отражающие время выполнения:

curl -s http://localhost:11434/api/generate -d '{
  "model": "llama3.2:1b",
  "prompt": "What is Linux in one short sentence?",
  "stream": false
}' | python3 -m json.tool | head -20

На приведённом ниже снимке терминала показаны проверка версии, привязанный сокет, запуск с измерением времени и ollama ps сообщение о том, что модель находится в памяти ЦП:

Шаг 4: Установка Docker для Open WebUI

Open WebUI поставляется с официальным образом Docker. Docker отсутствует в репозитории Ubuntu по умолчанию, поэтому добавьте репозиторий apt Docker CE. Docker CE теперь публикует репозитории как для Ubuntu 26.04 (resolute), так и для 24.04 (noble), поэтому приведённая ниже команда автоматически определит вашу версию. Более подробное описание этих шагов можно найти в статье «Установка Docker CE на Ubuntu 26.04 LTS».

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
  -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
  https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin

Убедитесь, что Docker запущен:

docker --version
systemctl is-active docker

Ожидаемый вывод — версия демона (в данном тесте — 29.6.2) и active.

Шаг 5: Запустите Open WebUI в Docker

Open WebUI по умолчанию прослушивает порт 8080. Запустите его с использованием сетевых настроек хоста, чтобы он мог напрямую обращаться к Ollama по 127.0.0.1:11434 . open-webui именованный том сохраняет чаты, учетные записи, базы знаний и ключ шифрования даже после перезапуска контейнера, а тег :main отслеживает текущую стабильную версию:

sudo docker run -d \
  --network=host \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  -e OLLAMA_BASE_URL=http://127.0.0.1:11434 \
  ghcr.io/open-webui/open-webui:main

При первом запуске происходит загрузка образа и инициализация базы данных SQLite, что занимает одну-две минуты. Следите за ходом процесса с помощью docker logs и дождитесь, пока сервер FastAPI выдаст сообщение Application startup complete:

sudo docker logs -f open-webui

Как только он будет в рабочем состоянии, локальный конечный пункт проверки работоспособности вернёт HTTP 200:

curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:8080/health

Сетевые настройки хоста открывают порт 8080 на всех интерфейсах, а не только на петлевом. На сервере с публичным IP-адресом интерфейс пользователя остается доступным из Интернета до тех пор, пока перед ним не будет установлен Nginx, а поскольку первая учетная запись, созданная при новой установке Open WebUI, становится администратором, вам не хотелось бы, чтобы к ней первым получил доступ посторонний человек. Сразу же закройте доступ, запустив UFW с разрешением SSH (веб-порты будут настроены на следующем шаге):

sudo ufw allow OpenSSH
sudo ufw --force enable

Open WebUI не запускается из-за ошибки NumPy

Если docker logs отображает следующее, ваш процессор не поддерживает флаги функций SSE4.2/AVX, необходимые для сборки NumPy в Open WebUI:

RuntimeError: NumPy was built with baseline optimizations:
(X86_V2) but your machine doesn't support: (X86_V2).
ImportError: cannot load module more than once per process

Обычно это происходит на Proxmox или других гипервизорах на базе QEMU, где по умолчанию установлен тип процессора kvm64. Исправьте это на хосте, переключив виртуальную машину на cpu: host (или любой современный профиль Intel/AMD, поддерживающий SSE4.2 и AVX):

qm set VMID --cpu host
qm stop VMID
qm start VMID

Затем убедитесь, что гостевая система видит нужные флаги, прежде чем повторить попытку запуска контейнера:

grep -E '(sse4_2|avx)' /proc/cpuinfo | head -1

Шаг 6: Запуск Open WebUI с помощью Nginx и Let’s Encrypt

Открытый WebUI по простому HTTP подойдет для пятиминутного тестирования, но вы же не хотите отправлять содержимое чата (или свой администраторский пароль) по сети в незашифрованном виде. Установите Nginx в качестве прокси-сервера и завершайте соединение по TLS с использованием настоящего сертификата Let’s Encrypt. Предпосылки и обоснование: Установка Nginx на Ubuntu 26.04 с Let’s Encrypt.

Установите Nginx и certbot:

sudo apt-get install -y nginx certbot python3-certbot-nginx

Сначала создайте минимальный виртуальный хост, поддерживающий только HTTP. Плагин Certbot для Nginx должен найти файл server_name , соответствующий вашему домену на порту 80, прежде чем сможет выдать сертификат. Откройте файл:

sudo vim /etc/nginx/sites-available/openwebui

Вставьте блок сервера. Заполнитель SITE_DOMAIN_HERE будет заменен значением из вашей переменной оболочки в следующей команде, поэтому пока оставьте его как есть:

server {
    listen 80;
    server_name SITE_DOMAIN_HERE;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 600s;
        proxy_send_timeout 600s;
    }
}

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

sudo sed -i "s/SITE_DOMAIN_HERE/${OLLAMA_DOMAIN}/g" /etc/nginx/sites-available/openwebui
sudo ln -sf /etc/nginx/sites-available/openwebui /etc/nginx/sites-enabled/
sudo rm -f /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx

Убедитесь, что домен разрешается на публичный IP-адрес вашего сервера и что порт 80 открыт из Интернета (у большинства облачных провайдеров и маршрутизаторов интернет-провайдеров требуется перенаправление портов или правило группы безопасности). Затем выпустите сертификат. Плагин Certbot для nginx обрабатывает запрос HTTP-01 и автоматически переписывает конфигурацию виртуального хоста, добавляя блок SSL, перенаправление с порта 80 на 443 и пути к сертификату:

sudo certbot --nginx -d "${OLLAMA_DOMAIN}" \
  --non-interactive --agree-tos --redirect \
  -m "${ADMIN_EMAIL}"

Certbot записывает сертификат в файл /etc/letsencrypt/live/${OLLAMA_DOMAIN}/ и устанавливает таймер systemd, который автоматически продлевает его, когда до истечения срока действия сертификата останется менее 30 дней. Убедитесь, что процесс продления работает, не загружая при этом новый сертификат:

sudo certbot renew --dry-run

Альтернатива: проверка DNS-01, если порт 80 недоступен

Пропустите этот раздел, если выше описанный метод HTTP-01 сработал. Используйте DNS-01, если сервер находится в частной локальной сети, за NAT без перенаправления портов или по иной причине недоступен по порту 80 из публичного Интернета. DNS-01 подтверждает ваше владение доменом путем записи записи TXT, поэтому сам сервер не обязательно должен быть доступен для валидаторов Let’s Encrypt.

Certbot поставляется с официальными DNS-плагинами для нескольких провайдеров. Выберите тот, который соответствует вашему DNS-хостинг-провайдеру:

Провайдер DNS Пакет Apt
Cloudflare python3-certbot-dns-cloudflare
AWS Route 53 python3-certbot-dns-route53
DigitalOcean python3-certbot-dns-digitalocean
Google Cloud DNS python3-certbot-dns-google
Linode python3-certbot-dns-linode
OVH python3-certbot-dns-ovh
RFC2136 (BIND, PowerDNS и т. д.) python3-certbot-dns-rfc2136

Каждый плагин использует файл учетных данных с токеном или ключом API. Приведённый ниже пример предназначен для Cloudflare; если вы используете другого провайдера, замените плагин и формат учетных данных на соответствующие вашему провайдеру. Сгенерируйте токен API в панели управления Cloudflare с Zone:DNS:Edit , ограниченными зоной, в которой находится ваш домен, а затем установите плагин:

sudo apt-get install -y python3-certbot-dns-cloudflare

Создайте файл учетных данных:

sudo vim /etc/letsencrypt/cloudflare.ini

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

dns_cloudflare_api_token = CF_TOKEN_VALUE

Заблокируйте файл, ограничив доступ только пользователю root, и выпустите сертификат через плагин DNS:

sudo chmod 600 /etc/letsencrypt/cloudflare.ini

sudo certbot certonly --dns-cloudflare \
  --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \
  -d "${OLLAMA_DOMAIN}" \
  --non-interactive --agree-tos -m "${ADMIN_EMAIL}"

Поскольку DNS-01 не редактирует виртуальный хост nginx автоматически, блок SSL необходимо добавить вручную. Снова откройте файл виртуального хоста:

sudo vim /etc/nginx/sites-available/openwebui

Замените его содержимое на перенаправление с HTTP на HTTPS и блок сервера TLS:

server {
    listen 80;
    server_name SITE_DOMAIN_HERE;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    http2 on;
    server_name SITE_DOMAIN_HERE;

    ssl_certificate     /etc/letsencrypt/live/SITE_DOMAIN_HERE/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/SITE_DOMAIN_HERE/privkey.pem;

    client_max_body_size 100M;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 600s;
        proxy_send_timeout 600s;
    }
}

Подставьте свой домен, протестируйте конфигурацию и перезагрузите:

sudo sed -i "s/SITE_DOMAIN_HERE/${OLLAMA_DOMAIN}/g" /etc/nginx/sites-available/openwebui
sudo nginx -t
sudo systemctl reload nginx

Далее в статье приводятся инструкции, применимые независимо от того, какой метод проверки вы использовали. Заголовки Upgrade и Connection в блоке прокси выше позволяют Open WebUI передавать токены чата. Без них интерфейс загружается, но каждое сообщение зависает на этапе «Отправка…»

Заблокируйте брандмауэр. SSH, а также порты 80 и 443 — единственные порты, которые должны быть открыты для доступа извне (порт 80 остаётся открытым, чтобы таймер обновления certbot мог повторно использовать запрос HTTP-01):

sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw --force enable
sudo ufw status verbose

Проведите тест с другого компьютера в сети. Первый запрос возвращает HTTP 200 с пакетом данных для входа в Open WebUI:

curl -sI "https://${OLLAMA_DOMAIN}/" | head -5

Заголовки должны выглядеть следующим образом: протокол HTTP/2 уже согласован, а статический пакет Open WebUI доставлен:

HTTP/2 200
server: nginx/1.28.3 (Ubuntu)
date: Wed, 23 Jul 2026 10:34:06 GMT
content-type: text/html; charset=utf-8
content-length: 7480

Шаг 7: Создание учётной записи администратора в Open WebUI

Перейдите по адресу https://${OLLAMA_DOMAIN}/ и пройдите через заставку, чтобы перейти на экран авторизации. Первая учетная запись, созданная при новой установке Open WebUI, автоматически получает права администратора, поэтому зарегистрируйтесь, указав адрес электронной почты и пароль, которые вы действительно планируете использовать:

После входа в систему Open WebUI закрывает модальное окно с информацией о выпуске и перенаправляет вас в интерфейс чата. Если Ollama уже загрузила модели, в поле выбора моделей в левом верхнем углу автоматически отобразятся те, что находятся на диске. Выберите llama3.2:1b, введите запрос и нажмите стрелку «Отправить». Первый ответ запускает загрузку модели, после чего токены передаются обратно со скоростью, которую позволяет ваше оборудование:

Новые чаты появляются в боковой панели слева и сохраняются в базе данных SQLite, смонтированной на open-webui том Docker, поэтому они сохраняются при перезапуске и обновлении контейнера.

Шаг 8: Полезные команды для второго дня

В любое время можно добавить дополнительные модели. Они попадают в /usr/share/ollama/.ollama/models/ и сразу же появляются в списке моделей Open WebUI:

ollama pull mistral:7b
ollama pull qwen2.5:14b

Удалите те, которые вам больше не нужны. Например, удаление модели 3B освобождает 2 ГБ:

ollama rm llama3.2:3b

Обновите Open WebUI при выходе новой версии. Загрузите актуальный образ и пересоздайте контейнер. Том сохраняет все чаты и учетные записи:

sudo docker pull ghcr.io/open-webui/open-webui:main
sudo docker stop open-webui
sudo docker rm open-webui
sudo docker run -d --network=host -v open-webui:/app/backend/data \
  --name open-webui --restart always \
  -e OLLAMA_BASE_URL=http://127.0.0.1:11434 \
  ghcr.io/open-webui/open-webui:main

Обновите сам демон Ollama, запустив скрипт установки заново. Он идемпотентен и затрагивает только бинарный файл:

curl -fsSL https://ollama.com/install.sh | sh

Настройте Ollama на прослушивание всех интерфейсов, если хотите, чтобы другие хосты могли напрямую вызывать его API (пропустите этот шаг, если Open WebUI является единственным потребителем):

sudo systemctl edit ollama

Добавьте блок переопределения:

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"

Сохраните изменения в редакторе, затем перезагрузите systemd и перезапустите Ollama, чтобы новая переменная среды вступила в силу:

sudo systemctl daemon-reload
sudo systemctl restart ollama

Если вы это сделаете, также добавьте явное правило UFW, ограниченное вашей подсетью управления, а не по умолчанию any. В API Ollama нет встроенной аутентификации.

Примечания по усилению безопасности

В Open WebUI регистрация включена по умолчанию. Как только вы создадите свою учетную запись администратора, войдите в систему, нажмите на свои инициалы в правом верхнем углу, откройте Панель администратора → Настройки → Общиеи отключите «Включить новую регистрацию». В противном случае любой, кто перейдёт по URL-адресу, сможет зарегистрировать учётную запись обычного пользователя и начать использовать ресурсы вашего оборудования. На той же странице настроек администратора отображается текущая версия, что удобно при принятии решения о необходимости обновления:

Сам Ollama не имеет аутентификации в своём REST API. Оставьте его привязанным к 127.0.0.1 , если вы не понимаете до конца, кто может получить доступ к 11434/tcp. Если вам нужен удалённый доступ, разместите его за таким сервисом, как Tailscale, или ограничьте правило UFW конкретным IP-адресом источника или подсетью VPN.

Модели содержат условия лицензии конкретных поставщиков (Llama, Gemma и др.). Ознакомьтесь с лицензией по ссылке ollama show MODEL --license , прежде чем использовать модель в производственной или коммерческой деятельности.

Устранение неполадок

Ошибка: «модели требуется больше системной памяти»

Ollama регистрирует эту ошибку, когда модели требуется больше оперативной памяти, чем имеется в свободном доступе на хосте. Проверьте, что видит демон, с помощью journalctl -u ollama -n 50 и либо выберите меньшую степень квантования (например, llama3.1:8b-instruct-q4_0 вместо q8_0), либо уменьшите количество параметров.

В Open WebUI отображается сообщение «Ошибка подключения WebSocket»

Практически всегда это связано с отсутствием или удалением Upgrade/Connection в обратном прокси. Убедитесь, что строки proxy_set_header Upgrade $http_upgrade; и proxy_set_header Connection "upgrade"; из виртуального хоста Nginx, приведённого выше, присутствуют, выполните команду sudo nginx -T | grep -A2 'upgrade', а затем перезагрузите Nginx.

Ошибка: «API Ollama недоступен»

Open WebUI сообщает об этом на экране чата, когда не может подключиться к OLLAMA_BASE_URL. Убедитесь, что переменная среды была передана в контейнер с помощью sudo docker inspect open-webui | grep OLLAMA_BASE_URL и что демон запущен с помощью curl -s http://127.0.0.1:11434/api/tags. При используемом здесь режиме сети «host» Open WebUI взаимодействует с 127.0.0.1:11434 напрямую. При режиме сети «bridge» переключитесь на http://host.docker.internal:11434 и добавьте --add-host=host.docker.internal:host-gateway в docker run.

certbot –nginx не проходит проверку HTTP-01

Симптом: Detail: Fetching http://your-domain/.well-known/acme-challenge/...: Connection refused или Timeout during connect. Валидаторы Let’s Encrypt не смогли подключиться к вашему серверу по порту 80. Убедитесь, что запись DNS типа A указывает на правильный публичный IP-адрес (dig +short ${OLLAMA_DOMAIN}), что порт 80 открыт в любой облачной группе безопасности или в настройках перенаправления портов маршрутизатора, а также что nginx работает с виртуальным хостом HTTP, указанным в шаге 6 выше (sudo nginx -T | grep server_name). Если у хоста действительно нет публичного порта 80, перейдите к альтернативному методу DNS-01.

Ошибка certbot DNS-01: «Проблема с DNS: NXDOMAIN при поиске записи TXT для _acme-challenge»

Плагин DNS не смог записать запись TXT для проверки. У файла учетных данных отсутствуют необходимые права доступа, либо токен/ключ привязан к неправильной зоне. В случае с плагином Cloudflare, в частности, токен API должен находиться в Зона:DNS:Редактировать в зоне, в которой находится ваш домен. У других провайдеров есть аналогичные области действия (для Route 53 требуется route53:ChangeResourceRecordSets, для DigitalOcean — write на домене и т. д.). Заново сгенерируйте учетные данные с правильной областью действия и обновите файл учетных данных.

Что делать дальше

Для ускорения с помощью GPU сначала установите драйвер NVIDIA и среду выполнения CUDA, а затем запустите скрипт установки Ollama заново, чтобы он подключался к среде выполнения GPU. Если вы ещё не приобрели видеокарту, в нашем руководстве «Лучшие графические процессоры для работы с LLM» рассказывается, как выбрать видеокарту по объёму видеопамяти (VRAM) и какой объём VRAM необходим для работы с LLM, а также как подобрать модель, соответствующую возможностям видеокарты. Если дискретная видеокарта не входит в ваши планы, мини-ПК, которые стоит приобрести для локального ИИ, вместо этого предоставят вам большой пул объединенной памяти. На данный момент вариант с использованием ЦП работает в полном объеме: модель находится на диске, а Open WebUI предоставляет вам удобное веб-приложение для работы с ней на вашем собственном сервере.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *