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

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

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

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

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

  • Драйверы и библиотеки: Наличие установленных драйверов NVIDIA и CUDA для поддержки GPU ускорения.

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

  • Сеть: Открытые порты 80 (HTTP) и 443 (HTTPS).

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

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

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

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

Процесс развертывания включает в себя несколько этапов: подготовку системы, установку движка нейросетей и запуск веб-интерфейса.

  1. Подготовка ОС:

  2. Установка системных пакетов curl и ca-certificates.

  3. Установка Docker и необходимых библиотек NVIDIA CUDA.

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

  5. Загрузка и выполнение установочного скрипта с официального репозитория Ollama.

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

  7. Настройка службы через systemd: создается конфигурационный файл переопределения (override.conf) для обеспечения доступа к API по адресу 0.0.0.0 и включения функции Flash Attention.

  8. Загрузка модели нейросети: выполняется автоматическая загрузка весов deepseek-r1:70b.

  9. Настройка проксирования:

  10. Создание директории /root/nginx для управления конфигурациями.

  11. Настройка 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 compose pull && docker compose up -d

(Примечание: если используется запуск через 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 (доступен внутри хоста).

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×