Обзор развертывания DeepSeek-R1:70B на сервере¶
Предварительные требования и базовые условия¶
Перед развертыванием приложения необходимо выполнить следующие системные требования:
-
Операционная система: Ubuntu (подтверждено использованием пакетного менеджера
apt). -
Привилегии: Требуется доступ root (
sudo) для установки системных пакетов, управления службами systemd и настройки Docker. -
Зависимости:
-
curl -
ca-certificates -
Docker: Docker Engine должен быть установлен и запущен для поддержки контейнеризированных сервисов.
-
Железо: Для работы контейнера
open-webuiс указанной моделью требуется GPU с поддержкой ускорения CUDA.
FQDN финальной панели¶
Приложение доступно по следующему формату полностью квалифицированного доменного имени (FQDN):
deepseek<Server ID>.hostkey.in
Сервис работает на стандартном HTTPS-порту 443.
Процесс установки приложения¶
Развертывание включает установку времени выполнения Ollama, загрузку модели DeepSeek и запуск интерфейса Open WebUI.
-
Установка Ollama: Время выполнения Ollama устанавливается с использованием официального скрипта установки.
-
Загрузка модели DeepSeek: Специфическая модель
deepseek-r1:70bзагружается в локальный реестр Ollama. -
Запуск Open WebUI: Веб-интерфейс развертывается в виде контейнера Docker с именем
open-webui.
Контейнеры Docker и их развертывание¶
Развертываются два основных сервиса Docker: прокси-стека для завершения SSL-сессий и приложение Open WebUI.
Контейнер Open WebUI¶
-
Имя:
open-webui -
Образ:
ghcr.io/open-webui/open-webui:cuda -
Режим сети:
host -
Политика перезапуска:
always -
Переменные окружения:
-
ENV:dev -
OLLAMA_BASE_URLS:http://127.0.0.1:11434 -
Тома:
-
open-webui:/app/backend/data(Именованный том для сохранения данных бэкенда) -
Запросы устройств: Включена поддержка GPU.
Стеки Nginx и Certbot¶
Проксирование и управление SSL реализованы с помощью конфигурации Docker Compose.
-
Расположение файла Compose:
/root/nginx/compose.yml -
Имя сервиса:
nginx -
Образ:
jonasal/nginx-certbot:latest -
Политика перезапуска:
unless-stopped -
Режим сети:
host -
Тома:
-
nginx_secrets:/etc/letsencrypt(Внешний именованный том) -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d(Bind mount для пользовательской конфигурации) -
Окружение:
-
CERTBOT_EMAIL:hkadm@hostkey.com -
Файл окружения:
/data/nginx/nginx-certbot.env
Прокси-серверы¶
Приложение использует Nginx с Certbot для управления SSL-сертификатами и обработки входящего HTTPS-трафика.
-
Провайдер SSL: Let's Encrypt через Certbot.
-
Хранилище сертификатов:
/etc/letsencrypt(отображается из тома Dockernginx_secrets). -
Каталог конфигурации:
/data/nginx/user_conf.d. -
Конфигурация Vhost Nginx:
-
Файл:
/data/nginx/user_conf.d/deepseek<Server ID>.hostkey.in.conf -
Функция: Перенаправляет HTTP в HTTPS и проксирует запросы к внутреннему сервису Open WebUI.
-
Цель прокси:
http://127.0.0.1:8080 -
Конфигурация заголовков:
proxy_set_header Host $hostобеспечивает передачу исходного заголовка хоста на вышестоящий узел (upstream). -
Вызов ACME:
-
Порт:
80(HTTP) -
Файл:
/data/nginx/user_conf.d/deepseek<Server ID>.hostkey.in.http.conf -
Корневой путь:
/var/www/certbot(Внутри контейнера Nginx)
Конфигурация службы Ollama¶
Служба Ollama управляется как нативная служба systemd, модифицированная для поддержки внешних подключений и специфических переменных окружения.
-
Файл службы:
/etc/systemd/system/ollama.service(Исходная версия сохранена в.bak) -
Директория переопределения:
/etc/systemd/system/ollama.service.d/ -
Файл переопределения:
/etc/systemd/system/ollama.service.d/override.conf -
Переменные окружения:
-
OLLAMA_HOST:0.0.0.0 -
OLLAMA_ORIGINS:* -
LLAMA_FLASH_ATTENTION:1 -
Статус: Включена и работает.
Расположение файлов конфигурации и данных¶
Следующие пути содержат критическую конфигурацию и данные для развертывания:
| Компонент | Путь | Описание |
|---|---|---|
| Конфигурация Nginx | /data/nginx/user_conf.d/ | Каталог, содержащий конфигурации блоков серверов Nginx. |
| Файл окружения Nginx | /data/nginx/nginx-certbot.env | Переменные окружения для контейнера Nginx. |
| Compose Nginx | /root/nginx/compose.yml | Файл Docker Compose для прокси-стека. |
| Каталог Nginx | /root/nginx | Рабочий каталог для развертывания прокси через Docker Compose. |
| Переопределение Ollama | /etc/systemd/system/ollama.service.d/override.conf | Переопределение systemd для настройки окружения Ollama. |
| Данные Open WebUI | open-webui (Том) | Именованный том Docker, хранящий данные приложения. |
Доступные порты для подключения¶
Система открывает следующие порты для коммуникации:
-
Порт 443: HTTPS-трафик для интерфейса Open WebUI через прокси Nginx.
-
Порт 80: HTTP-трафик для вызовов ACME и первичного перенаправления SSL.
-
Порт 8080: Внутренний трафик; Nginx проксирует этот порт в сервис Open WebUI.
-
Порт 11434: API-эндпоинт Ollama (внутренний, привязан к
127.0.0.1). -
Порт 3000: Задан в переменных группы как
internal_port, однако текущая конфигурация прокси направляет трафик напрямую на порт 8080.
Запуск, остановка и обновление¶
Управление службой Ollama¶
Управляйте службой Ollama с использованием команд systemd:
Управление контейнерами Docker¶
-
Open WebUI:
-
Прокси-стек Nginx: Перейдите в каталог compose и управляйте сервисами:
Управление контейнером Nginx¶
Для перезагрузки конфигурации Nginx внутри контейнера после внесения изменений: