Перейти к содержанию

Обзор развертывания Ollama на сервере

Предварительные требования

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

  • Операционная система: Ubuntu (рекомендуемые версии 22.04 или 24.04) или Debian. При использовании Ubuntu 25.04 установка не поддерживается из-за отсутствия официальной поддержки CUDA для этой версии.

  • Права доступа: Права суперпользователя (sudo) для установки системных пакетов и драйверов.

  • Аппаратное обеспечение: Наличие графического процессора NVIDIA (для использования ускорения CUDA).

  • Порты:

  • 80/tcp — для получения SSL-сертификатов.

  • 443/tcp — основной доступ к приложению через HTTPS.

FDQN итоговой панели на домене hostkey.in

Для доступа к интерфейсу используется следующий шаблон доменного имени:

Параметр Значение
Префикс ollama
Домен hostkey.in
Полный шаблон ollama{Server_ID_from_Invapi}.hostkey.in

Структура файлов и каталогов

Основные директории, используемые в системе:

  • /root/nginx — конфигурационные файлы Docker Compose для прокси-сервера.

  • /etc/systemd/system/ — системный файл службы Ollama (ollama.service).

  • /data/nginx/user_conf.d/ — пользовательские конфигурации Nginx.

  • /data/nginx/nginx-certbot.env — переменные окружения для SSL.

Процесс установки приложения

Развертывание выполняется в несколько этапов:

  1. Подготовка системы: Обновление пакетов apt, установка компилятора gcc и необходимых библиотек ядра (для Ubuntu 22.04).

  2. Установка драйверов NVIDIA и CUDA:

  3. Загрузка и установка репозитория cuda-keyring.

  4. Установка пакетов cuda и cuda-toolkit.

  5. Настройка переменных окружения PATH и LD_LIBRARY_PATH в файле .bashrc.

  6. Удаление модуля nouveau для корректной работы драйвера.

  7. Настройка среды контейнеризации: Установка nvidia-docker2 (для Ubuntu 22.04) или nvidia-container-toolkit (для Ubuntu 24.04).

  8. Установка Ollama: Загрузка и запуск официального установочного скрипта через curl. Создание системного пользователя ollama.

  9. Настройка службы: Создание и запуск системной службы systemd для управления процессом Ollama с поддержкой GPU.

  10. Развертывание веб-интерфейса: Запуск контейнеров Docker Compose, включающих прокси-сервер Nginx и интерфейс Open WebUI.

Контейнеры Docker и их запуск

Приложение использует два основных контейнера:

Open WebUI

  • Имя образа: ghcr.io/open-webui/open-webui:main

  • Имя контейнера: open-webui

  • Тома (volumes): open-webui:/app/backend/data

  • Переменные окружения: настроен доступ к хосту через host.docker.internal.

  • Политика перезапуска: always.

Nginx (Proxy + Certbot)

  • Имя образа: jonasal/nginx-certbot:latest

  • Имя контейнера: nginx

  • Порты: 80:80, 443:443

  • Тома (volumes):

  • nginx_secrets:/etc/letsencrypt

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d

  • Переменные окружения: CERTBOT_EMAIL=hkadm@hostkey.com.

  • Политика перезапуска: unless-stopped.

Кастомные скрипты и дополнительные настройки

В процессе развертывания выполняются следующие действия:

  • Установочный скрипт: Выполняет полную настройку драйверов NVIDIA, установку CUDA и конфигурацию переменных окружения в системе.

  • Первоначальная загрузка модели: После запуска службы Ollama автоматически выполняется команда ollama pull qwen3:14b для загрузки базовой языковой модели.

Инструкция по обновлению приложения

Для обновления основного интерфейса (Open WebUI) необходимо выполнить команду в директории с конфигурацией Docker Compose:

docker compose pull && docker compose up -d

Расположение конфигурационных файлов и данных

  • Данные Open WebUI: хранятся в Docker volume open-webui.

  • Конфигурация прокси: /data/nginx/user_conf.d/ollama{Server_ID}.hostkey.in.conf.

  • Сертификаты SSL: хранятся в Docker volume nginx_secrets.

Доступные порты для подключения

  • 443 (HTTPS) — основной доступ к веб-интерфейсу через доменное имя.
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×