eco Начальный Туториал

Развертывание Ollama и Open WebUI на VPS: пошаговое руководство по созданию приватного AI-чата

calendar_month Май 13, 2026 schedule 10 мин. чтения visibility 33 просмотров
Развертывание Ollama и Open WebUI на VPS: пошаговое руководство по созданию приватного AI-чата
info

Нужен сервер для этого гайда? Мы предлагаем выделенные серверы и VPS в 50+ странах с мгновенной настройкой.

Нужен сервер для этого гайда?

Разверните VPS или выделенный сервер за минуты.

Развертывание Ollama и Open WebUI на VPS: пошаговое руководство по созданию приватного AI-чата

TL;DR

В данном руководстве описывается процесс развертывания полностью автономной и приватной экосистемы искусственного интеллекта на базе Ollama (бэкенд для запуска LLM) и Open WebUI (современный интерфейс в стиле ChatGPT) на виртуальном сервере (VPS). Это решение позволяет исключить передачу данных сторонним компаниям, обойти цензурные ограничения облачных моделей и получить полный контроль над своими данными и вычислительными ресурсами.

  • Полная приватность: Ваши запросы и документы для RAG не покидают пределы вашего сервера.
  • Экономия: Отсутствие ежемесячных подписок (ChatGPT Plus, Claude Pro) при использовании собственных мощностей.
  • Гибкость: Возможность запускать любые открытые модели: Llama 3.x, Mistral, DeepSeek, Gemma и специализированные кодинг-ассистенты.
  • Интеграция: Готовая API-совместимость с OpenAI API для подключения сторонних приложений к вашему серверу.
  • Масштабируемость: Легкий переход от CPU-инференса к полноценному использованию GPU при росте нагрузки.

1. Что мы настраиваем и зачем: Эволюция Self-hosted AI

Схема: 1. Что мы настраиваем и зачем: Эволюция Self-hosted AI
Схема: 1. Что мы настраиваем и зачем: Эволюция Self-hosted AI

К 2026 году индустрия больших языковых моделей (LLM) разделилась на два четких лагеря: проприетарные облачные решения (OpenAI, Anthropic, Google) и открытые модели (Meta, Mistral AI, DeepSeek). Несмотря на удобство первых, профессиональные разработчики и компании все чаще выбирают self-hosted путь. Основная причина — суверенитет данных. Когда вы используете облачный чат, каждое ваше слово становится частью обучающей выборки или хранится в логах, доступных третьим лицам.

Мы будем использовать связку из двух мощных инструментов:

  1. Ollama: Это эффективный движок (инференс-сервер), который берет на себя всю тяжелую работу по загрузке весов моделей, управлению памятью и выполнению вычислений. Он оптимизирован для работы как на GPU, так и на CPU, используя современные наборы инструкций (AVX-512, AMX).
  2. Open WebUI: Ранее известный как Ollama WebUI, это самый продвинутый интерфейс для работы с локальными моделями. Он поддерживает мультимодальность (анализ изображений), RAG (Retrieval Augmented Generation — общение с вашими PDF/документами), управление пользователями и интеграцию с веб-поиском.

Self-hosted решение на VPS дает вам независимость от API-ключей, лимитов на количество сообщений в час и "лоботомии" моделей, когда разработчики чрезмерно ограничивают ответы ИИ из соображений безопасности. Ваш сервер — ваши правила.

2. Какой VPS-конфиг нужен под эту задачу: Расчет ресурсов

Схема: 2. Какой VPS-конфиг нужен под эту задачу: Расчет ресурсов
Схема: 2. Какой VPS-конфиг нужен под эту задачу: Расчет ресурсов

Выбор характеристик сервера напрямую зависит от того, какие модели вы планируете запускать. В 2026 году стандартом для "умного" чата являются модели с 7-14 миллиардами параметров (7B-14B), квантованные до 4 или 8 бит.

Тип задачи Модель (пример) Минимальная RAM Рекомендуемый CPU Диск (NVMe)
Легкий чат / Код Llama 3.2 3B / Phi-4 8 GB 4 Cores 40 GB
Универсальный ИИ Llama 3.1 8B / Mistral 7B 16 GB 8 Cores 80 GB
Сложная аналитика Gemma 2 27B / Command R 32-48 GB 12+ Cores 160 GB
Enterprise / RAG Llama 3.1 70B (Q4) 64 GB+ 16+ Cores 300 GB

Важно понимать разницу между CPU и GPU инференсом. На обычном VPS вы будете использовать CPU. Благодаря библиотеке llama.cpp, на которой базируется Ollama, скорость генерации на современных серверных процессорах достигает 3-7 токенов в секунду для моделей 8B, что вполне комфортно для чтения человеком в реальном времени. Если же вам нужна мгновенная генерация или обслуживание 10+ одновременных пользователей, стоит рассмотреть выделенный сервер с GPU (NVIDIA A2000, A4000 или H100/L40).

Для комфортной работы с моделями среднего уровня (8B-14B) можно арендовать подходящий VPS с 16 ГБ оперативной памяти и быстрыми NVMe дисками, так как скорость загрузки весов модели в память критически важна для отзывчивости интерфейса.

Локация сервера: Поскольку вы будете передавать и получать значительные объемы текстовых данных, выбирайте локацию с минимальным пингом до вас. Однако для AI-задач важнее физическая производительность процессора, чем задержка сети в 20-30 мс.

3. Подготовка сервера: Безопасность и базовое окружение

Схема: 3. Подготовка сервера: Безопасность и базовое окружение
Схема: 3. Подготовка сервера: Безопасность и базовое окружение

После получения доступа к серверу по SSH, первым делом необходимо обеспечить его безопасность. AI-сервисы потребляют много ресурсов, и вы не хотите, чтобы ваш сервер стал частью ботнета.


# Обновляем список пакетов и систему
sudo apt update && sudo apt upgrade -y

# Создаем нового пользователя с правами sudo (замените 'aiuser' на ваше имя)
adduser aiuser
usermod -aG sudo aiuser

# Настраиваем SSH: запрещаем вход по паролю и под пользователем root (опционально, но рекомендуется)
# Перед этим убедитесь, что вы добавили свой SSH-ключ в ~/.ssh/authorized_keys
# sudo nano /etc/ssh/sshd_config
# Изменить: PermitRootLogin no, PasswordAuthentication no
# sudo systemctl restart ssh
    

Настройка брандмауэра (UFW). Нам понадобятся порты 22 (SSH), 80 (HTTP) и 443 (HTTPS). Порты Ollama (11434) и Open WebUI (8080) мы оставим закрытыми от внешнего мира, так как доступ к ним будет осуществляться через реверс-прокси.


sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
    

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


sudo apt install -y curl wget git htop fastfetch build-essential
    

4. Установка Docker и Docker Compose (Версии 2026)

Схема: 4. Установка Docker и Docker Compose (Версии 2026)
Схема: 4. Установка Docker и Docker Compose (Версии 2026)

Наилучший способ развертывания Open WebUI — использование контейнеризации. Это изолирует зависимости и позволяет легко обновлять систему. В 2026 году Docker Compose является встроенной частью Docker CLI.


# Установка официального репозитория Docker
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Добавление репозитория в источники apt
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

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

# Добавление пользователя в группу docker, чтобы не использовать sudo постоянно
sudo usermod -aG docker $USER
# ВАЖНО: Перезайдите в SSH-сессию, чтобы права обновились
    

5. Развертывание Ollama: Сердце вашего AI-сервера

Схема: 5. Развертывание Ollama: Сердце вашего AI-сервера
Схема: 5. Развертывание Ollama: Сердце вашего AI-сервера

Ollama можно установить как нативно, так и в Docker. Для максимальной производительности на Linux часто рекомендуют нативную установку, так как она имеет прямой доступ к инструкциям процессора без прослоек контейнеризации.


# Нативная установка Ollama одной командой
curl -fsSL https://ollama.com/install.sh | sh
    

После установки Ollama запускается как системная служба. Проверим ее статус:


sudo systemctl status ollama
    

Теперь загрузим нашу первую модель. Llama 3.1 8B — отличный выбор для начала. Она сбалансирована по скорости и качеству ответов.


ollama run llama3.1:8b
    

После завершения загрузки вы сможете пообщаться с моделью прямо в консоли. Для выхода введите /bye. Модель останется в памяти сервера или будет загружена автоматически при первом обращении через API.

Совет: Если ваш сервер имеет ограниченный объем RAM, используйте модели с припиской :q4_k_m (4-битное квантование), они потребляют почти в два раза меньше памяти при минимальной потере качества.

6. Установка Open WebUI: Интерфейс и функциональность

Схема: 6. Установка Open WebUI: Интерфейс и функциональность
Схема: 6. Установка Open WebUI: Интерфейс и функциональность

Open WebUI — это не просто чат, это полноценная платформа. Мы развернем ее с помощью Docker Compose, чтобы связать интерфейс с Ollama и обеспечить хранение данных в постоянном томе (volume).

Создадим рабочую директорию:


mkdir ~/ai-stack && cd ~/ai-stack
nano docker-compose.yaml
    

Вставьте следующее содержимое в файл docker-compose.yaml:


services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: always
    ports:
      - "8080:8080"
    extra_hosts:
      - "host.docker.internal:host-gateway"
    environment:
      - 'OLLAMA_BASE_URL=http://host.docker.internal:11434'
      - 'WEBUI_SECRET_KEY=super_secret_key_change_me'
    volumes:
      - open-webui:/app/backend/data

volumes:
  open-webui:
    

Развертываем стек:


docker compose up -d
    

Теперь интерфейс доступен по адресу http://IP_ВАШЕГО_СЕРВЕРА:8080. Первый зарегистрировавшийся пользователь автоматически станет администратором.

7. Настройка сети, SSL и безопасности (Caddy/Nginx)

Схема: 7. Настройка сети, SSL и безопасности (Caddy/Nginx)
Схема: 7. Настройка сети, SSL и безопасности (Caddy/Nginx)

Открывать порт 8080 напрямую — плохая идея. Нам нужен HTTPS для защиты трафика и красивый домен. Мы будем использовать Caddy, так как он автоматически получает и обновляет SSL-сертификаты от Let's Encrypt.


# Установка Caddy
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1G 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1G 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
    

Настройка конфигурации Caddy:


sudo nano /etc/caddy/Caddyfile
    

Добавьте следующие строки (замените ai.yourdomain.com на ваш реальный домен):


ai.yourdomain.com {
    reverse_proxy localhost:8080
    
    header {
        # Защита от кликджекинга
        X-Frame-Options DENY
        # Защита от XSS
        X-XSS-Protection "1; mode=block"
        Strict-Transport-Security "max-age=31536000;"
    }
}
    

Перезапустите Caddy:


sudo systemctl restart caddy
    

Теперь ваш приватный чат доступен по безопасному протоколу HTTPS.

8. Настройка RAG и работа с документами

Одной из самых мощных функций Open WebUI является RAG (Retrieval-Augmented Generation). Это позволяет вам загружать PDF, текстовые файлы или давать ссылки на сайты, чтобы ИИ отвечал на вопросы, основываясь на этой информации.

В 2026 году Open WebUI по умолчанию включает в себя векторную базу данных (ChromaDB или аналоги). Чтобы RAG работал эффективно на VPS:

  • Выбор Embedding-модели: Перейдите в настройки администратора -> Documents. По умолчанию используется sentence-transformers, которая хорошо работает на CPU.
  • Загрузка документов: В окне чата нажмите на иконку "+" или просто перетащите файл.
  • Использование: Введите символ # в строке сообщения, чтобы выбрать загруженный документ для контекста.

Это превращает ваш VPS в персональную базу знаний. Вы можете загрузить документацию по проекту, юридические договоры или учебники, и задавать вопросы по их содержанию без риска утечки этих документов в публичные облака.

9. Бэкапы, обновление моделей и обслуживание системы

Схема: 9. Бэкапы, обновление моделей и обслуживание системы
Схема: 9. Бэкапы, обновление моделей и обслуживание системы

Сервер с AI требует регулярного обслуживания, так как модели и софт обновляются почти каждую неделю.

Обновление компонентов


# Обновление Ollama
curl -fsSL https://ollama.com/install.sh | sh

# Обновление Open WebUI
cd ~/ai-stack
docker compose pull
docker compose up -d --remove-orphans
    

Скрипт резервного копирования

Самое важное — это база данных пользователей и их чатов. В Open WebUI она хранится в Docker volume. Создадим простой скрипт бэкапа:


#!/bin/bash
BACKUP_DIR="/home/aiuser/backups"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
mkdir -p $BACKUP_DIR

# Остановка контейнера для консистентности данных
docker stop open-webui

# Создание архива данных
tar -czf $BACKUP_DIR/webui_data_$TIMESTAMP.tar.gz -C /var/lib/docker/volumes/ai-stack_open-webui/_data .

# Запуск контейнера
docker start open-webui

# Удаление бэкапов старше 30 дней
find $BACKUP_DIR -type f -mtime +30 -name "*.gz" -delete
    

Добавьте этот скрипт в crontab -e для ежедневного запуска в 3 часа ночи.

10. Troubleshooting + FAQ: Решение типичных проблем

Почему генерация текста идет очень медленно?

Основная причина — нехватка оперативной памяти. Если модели не хватает RAM, система начинает использовать swap (подкачку на диске), что замедляет работу в сотни раз. Проверьте потребление памяти командой htop. Также убедитесь, что вы не запускаете модель, размер которой превышает доступную RAM. Для модели 8B нужно минимум 8-10 ГБ свободной памяти.

Ошибка "Connection refused" при подключении WebUI к Ollama

Проверьте, слушает ли Ollama порт 11434 на всех интерфейсах. По умолчанию она может слушать только 127.0.0.1. В Docker-compose мы использовали host.docker.internal, что правильно для связи контейнера с хостом. Убедитесь, что переменная окружения OLLAMA_HOST=0.0.0.0 установлена в системе, если используете сложную сетевую конфигурацию.

Какой VPS-конфиг минимально подойдёт?

Для запуска самых маленьких моделей вроде Phi-3 или Llama 3.2 3B достаточно 4-8 ГБ RAM и 2-4 ядер CPU. Однако для полноценного опыта с моделями уровня Llama 3.1 8B мы настоятельно рекомендуем 16 ГБ RAM. Это обеспечит запас для работы ОС, Docker и кэширования контекста.

Что выбрать — VPS или dedicated для этой задачи?

VPS идеально подходит для личного использования и экспериментов. Если же вы планируете внедрять AI в бизнес-процессы компании, где чатом будут пользоваться 20+ сотрудников одновременно, или вам нужно обучать модели (fine-tuning), однозначно стоит выбрать выделенный сервер (dedicated) с мощным многоядерным процессором или GPU.

Как ограничить доступ к чату?

В настройках Open WebUI (Admin Settings -> General) можно отключить "New Signups". После того как вы создадите аккаунты для себя и своей команды, выключите регистрацию, чтобы посторонние не могли использовать ресурсы вашего сервера.

Могу ли я использовать GPU на VPS?

Да, если провайдер предоставляет GPU-ускорение и проброс устройства в виртуальную машину. В этом случае вам потребуется установить nvidia-container-toolkit и добавить deploy.resources.reservations.devices в ваш docker-compose.yaml. Скорость генерации вырастет в 10-50 раз.

11. Выводы и следующие шаги: Путь к персональному агенту

Мы успешно развернули полностью приватную и функциональную среду искусственного интеллекта. Теперь у вас есть собственный аналог ChatGPT, который не подвержен цензуре, не торгует вашими данными и доступен вам 24/7 по фиксированной цене аренды сервера.

Куда двигаться дальше?

  • Интеграция с API: Используйте адрес вашего сервера в качестве замены OpenAI API в таких приложениях, как Cursor или Obsidian.
  • Кастомные модели: Попробуйте специализированные модели для программирования (CodeLlama, DeepSeek-Coder) или медицинские/юридические модели.
  • Автоматизация: Настройте интеграцию с вашим календарем или почтой через API Open WebUI, превращая чат в полноценного цифрового ассистента.

Помните, что сфера локальных LLM развивается стремительно. Следите за обновлениями Ollama и Open WebUI, так как новые версии часто приносят значительные оптимизации скорости, позволяя запускать всё более сложные модели на том же железе.

Поделиться этой записью:

развертывание ollama и open webui на vps: пошаговое руководство по созданию приватного ai-чата
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.