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

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

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

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

  • Операционная система: Ubuntu.

  • Наличие установленного Docker и драйверов NVIDIA CUDA для поддержки GPU.

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

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

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

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

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

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

Процесс развертывания включает в себя несколько этапов:

  1. Подготовка системы: установка Docker и библиотек NVIDIA CUDA.

  2. Установка Ollama:

  3. Загрузка и запуск официального установочного скрипта curl -fsSL https://ollama.com/install.sh | sh.

  4. Создание системного пользователя ollama.

  5. Настройка системного сервиса ollama.service для работы на всех интерфейсах (0.0.0.0) и поддержки флага LLAMA_FLASH_ATTENTION=1.

  6. Загрузка модели llama3.3 через команду ollama pull llama3.3.

  7. Развертывание веб-интерфейса: запуск контейнера Docker для работы с интерфейсом пользователя.

  8. Настройка проксирования и SSL: создание конфигурации Nginx и получение сертификатов через Certbot.

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

В системе развернуты следующие контейнеры:

Open WebUI

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

  • Порты: 8080 (внутри контейнера) -> 8080 (на хосте).

  • Тома: open-webui:/app/backend/data.

  • Переменные окружения:

  • ENV='dev'

  • OLLAMA_BASE_URLS='http://host.docker.internal:11434'

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

  • Особенности: Использует аппаратное ускорение GPU (--gpus all) и имеет доступ к хосту через host.docker.internal.

Nginx (Proxy)

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

  • Сетевой режим: host.

  • Тома:

  • nginx_secrets:/etc/letsencrypt

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

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

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

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

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

  • Настройка Ollama: В файл /etc/systemd/system/ollama.service вносятся изменения для разрешения внешних подключений (OLLAMA_ORIGINS="*") и оптимизации работы с памятью.

  • Конфигурация Nginx:

  • Создается директория /root/nginx.

  • Генерируется файл compose.yml для управления прокси-сервером.

  • В конфигурационные файлы пользователя в /data/nginx/user_conf.d/ автоматически добавляется директива proxy_pass http://127.0.0.1:8080; для перенаправления трафика на веб-интерфейс.

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

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

docker compose pull && docker compose up -d

(Примечание: Если используется ручной запуск через docker run, необходимо остановить и удалить старый контейнер, после чего запустить команду установки повторно).

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

  • /etc/systemd/system/ollama.service — конфигурация сервиса Ollama.

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

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

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

  • open-webui (Docker Volume) — хранилище данных веб-интерфейса.

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

Порт Назначение Протокол
443 Внешний доступ к интерфейсу (через SSL) HTTPS
8080 Локальный порт веб-интерфейса HTTP
11434 API Ollama (локально на хосте) HTTP
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×