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