Обзор развертывания DeepSeek на сервере¶
Предварительные требования¶
Для корректной работы приложения сервер должен соответствовать следующим требованиям:
-
Операционная система: Ubuntu (рекомендуется).
-
Права доступа: Права суперпользователя (
root) для установки системных пакетов и управления Docker. -
Аппаратное обеспечение: Наличие графического процессора (GPU) NVIDIA для поддержки CUDA.
-
Сеть: Открытые порты
80(для проверки SSL) и443(HTTPS).
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу приложения используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | deepseek |
| Домен | hostkey.in |
| Полный шаблон | deepseek{Server_ID}.hostkey.in |
Процесс установки приложения¶
Процесс развертывания включает в себя несколько этапов: подготовку системы, установку компонентов искусственного интеллекта и настройку веб-прокси.
-
Подготовка окружения:
-
Установка системных пакетов
curlиca-certificates. -
Установка Docker и драйверов NVIDIA CUDA.
-
Установка движка Ollama:
-
Загрузка и запуск официального установочного скрипта Ollama.
-
Создание системного пользователя
ollama. -
Настройка службы
systemdс параметрами: -
OLLAMA_HOST=0.0.0.0(доступ извне). -
OLLAMA_ORIGINS=*(разрешение запросов). -
LLAMA_FLASH_ATTENTION=1(оптимизация производительности). -
Загрузка модели
deepseek-r1:14b. -
Развертывание веб-интерфейса:
-
Запуск контейнера Open WebUI с поддержкой CUDA.
-
Настройка проксирования и SSL:
-
Создание конфигураций Nginx для автоматического получения сертификатов через Certbot.
-
Настройка перенаправления трафика (HTTP → HTTPS).
Контейнеры Docker и их запуск¶
В системе развернуты следующие контейнеры:
Open WebUI¶
Контейнер предоставляет графический интерфейс для взаимодействия с моделями.
-
Имя образа:
ghcr.io/open-webui/open-webui:cuda -
Режим сети:
host(использует сетевой стек хоста). -
Переменные окружения:
-
ENV:dev -
OLLAMA_BASE_URLS:http://127.0.0.1:11434 -
Тома (volumes):
open-webui:/app/backend/data -
Политика перезапуска:
always -
Особенности: Поддержка GPU через
device_requests.
Nginx Certbot¶
Контейнер для управления SSL-сертификатами и проксирования.
-
Имя образа:
jonasal/nginx-certbot:latest -
Режим сети:
host -
Переменные окружения:
-
CERTBOT_EMAIL:hkadm@hostkey.com -
Тома (volumes):
-
nginx_secrets:/etc/letsencrypt -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d -
Политика перезапуска:
unless-stopped
Кастомные скрипты и дополнительные настройки¶
Для обеспечения работы веб-интерфейса выполняются следующие действия:
-
Настройка Nginx: В конфигурационные файлы пользователя (
/data/nginx/user_conf.d/) вносятся изменения для проксирования запросов с порта443на локальный адресhttp://127.0.0.1:8080. -
Подготовка ACME: Внутри контейнера Nginx создается директория
/var/www/certbot/.well-known/acme-challengeдля прохождения проверки владения доменом при получении SSL.
Расположение конфигурационных файлов и данных¶
| Тип данных | Путь на сервере |
|---|---|
| Конфигурации Nginx (пользовательские) | /data/nginx/user_conf.d/ |
| Переменные окружения Nginx | /data/nginx/nginx-certbot.env |
| Конфигурация службы Ollama (override) | /etc/systemd/system/ollama.service.d/override.conf |
| Данные Open WebUI (Docker Volume) | open-webui |
| Резервная копия сервиса Ollama | /etc/systemd/system/ollama.service.bak |
Доступные порты для подключения¶
-
443 (HTTPS): Основной порт для доступа к интерфейсу через доменное имя.
-
80 (HTTP): Используется для автоматического перенаправления на HTTPS и проверки SSL.
-
11434: Локальный порт Ollama API (доступен внутри хоста).