Обновления Sherpa AI Server#

Обновление Sherpa AIServer#

Рекомендуемый способ: автоматическое обновление через скрипт#

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

Убедитесь, что вы находитесь в корне установки SherpaAIServer, и запустите:

sudo ./sh_scripts/update.sh

Ручное обновление. Если вы хотите обновить систему вручную или вам нужен полный контроль над каждым шагом — следуйте инструкции ниже.


1. Скачивание файлов#

Скачайте все последние файлы по ссылкам как перед установкой

2. Перенос файлов на сервер#

После скачивания перенесите все файлы на целевой Linux сервер любым удобным способом:

Через SCP/SFTP#

# Скопируйте файлы на сервер
scp *.tar.gz *.tgz user@target-server:/path/to/installation/directory/
💡 Комментарии к переносу через SCP/SFTP

**scp .tar.gz .tgz user@target-server:/path/to/installation/directory/ - копирует файлы на удаленный сервер

  • scp - secure copy (безопасное копирование)
  • *.tar.gz *.tgz - шаблоны для выбора файлов
  • user@target-server - учетные данные для подключения
  • /path/to/installation/directory/ - путь назначения на сервере

Через SFTP клиент#

Используйте любой SFTP клиент (FileZilla, WinSCP, Cyberduck) для копирования файлов на сервер.

Через сетевую папку#

Если сервер доступен по SMB/CIFS, используйте проводник Windows или команду copy.

Проверка переноса#

# Подключитесь к серверу
ssh user@target-server

# Перейдите в директорию с файлами
cd /path/to/installation/directory

# Проверьте наличие всех файлов
ls -la *.tar.gz *.tgz

# Проверьте размеры файлов
ls -lh *.tar.gz *.tgz
💡 Комментарии к проверке переноса

ssh user@target-server - подключается к удаленному серверу по SSH

  • ssh - secure shell
  • user@target-server - учетные данные для подключения

cd /path/to/installation/directory - переходит в директорию с файлами

**ls -la .tar.gz .tgz - показывает подробную информацию о скачанных файлах

  • -l - длинный формат
  • -a - показывает скрытые файлы

**ls -lh .tar.gz .tgz - показывает размеры файлов в человеко-читаемом формате

  • -h - human readable (Кб, Мб, Гб)

3. Остановка контейнеров#

# Остановите все запущенные сервисы
docker compose down
💡 Комментарии к остановке контейнеров

docker compose down - останавливает все сервисы Docker Compose

  • Останавливает и удаляет контейнеры, сети
  • Сохраняет volumes и images

Проверка остановки: docker ps -a | grep aiserver - проверяет статус контейнеров

  • docker ps -a - показывает все контейнеры (включая остановленные)
  • | grep aiserver - фильтрует по имени aiserver

4. Загрузка Docker образов#

# Создайте бэкап файла .env
cp .env .env.backup
# Создайте бэкап config
cp ./backend/config ./backend/config_backup

cp -r ./nginx/config/certs ./certs_backup

# Распакуйте клиентские файлы
tar -xvzf "$(ls docker_aiserver_client_files_*.tgz | sort -V | tail -n 1)"

# Сделайте скрипты исполняемыми
chmod +x sh_scripts/*.sh

# Если создавался бэкап сертификатов, восстановите их
cp -r ./certs_backup/* ./nginx/config/certs/

# Загрузите все Docker-образы
sudo ./sh_scripts/load_all_docker_images.sh
💡 Комментарии к загрузке Docker образов

Создание резервных копий:

  • cp .env .env.backup - бэкап файла конфигурации
  • cp ./backend/config ./backend/config_backup - бэкап директории config
  • cp -r ./nginx/config/certs ./certs_backup - бэкап SSL сертификатов

Распаковка и подготовка:

  • tar -xvzf "$(ls docker_aiserver_client_files_*.tgz | sort -V | tail -n 1)" - распаковывает свежие клиентские файлы
  • chmod +x sh_scripts/*.sh - делает скрипты исполняемыми
  • cp -r ./certs_backup/* ./nginx/config/certs/ - восстанавливает сертификаты

sudo ./sh_scripts/load_all_docker_images.sh - загружает все Docker-образы

Проверка загрузки: docker images | grep aiserver - показывает загруженные образы aiserver

5. Проверка переменных окружения#

# Откройте файл .env для проверки
nano ./.env

# Проверьте наличие обязательных переменных
grep -E "(POSTGRES_PASSWORD|X_API_TOKEN|HOST_IP)" .env

# Проверьте корректность синтаксиса
cat .env | grep -v '^#' | grep '=' | wc -l
💡 Комментарии к проверке переменных окружения

nano ./.env - открывает файл конфигурации в редакторе

grep -E "(POSTGRES_PASSWORD|X_API_TOKEN|HOST_IP)" .env - проверяет наличие ключевых переменных

  • -E - расширенные регулярные выражения
  • Перечисляет обязательные переменные через |

cat .env | grep -v '^#' | grep '=' | wc -l - подсчитывает количество переменных

  • cat .env - выводит содержимое файла
  • grep -v '^#' - исключает комментарии
  • grep '=' - оставляет только строки с переменными
  • wc -l - подсчитывает количество строк

6. Запуск контейнеров#

Запустите базовые сервисы:

docker compose up -d

Если в предыдущей установке использовались профили, укажите их снова. Примеры:

# GPU — основной LLM-сервер
docker compose --profile gpu up -d

# GPU + распознавание речи
docker compose --profile gpu --profile whisper up -d

# GPU + переранжирование
docker compose --profile gpu --profile reranker up -d

# GPU + все дополнительные сервисы
docker compose --profile gpu --profile full up -d

# Два LLM-сервера на разных GPU
docker compose --profile gpu --profile gpu2 up -d

# CPU-режим (без GPU)
docker compose --profile cpu up -d

# CPU + все дополнительные сервисы
docker compose --profile cpu --profile full up -d

Доступные профили:

Профиль Сервис Порт Описание
gpu aiserver-llm-server 3003 Основной LLM-сервер на GPU
gpu2 aiserver-llm-server2 3006 Второй LLM на второй видеокарте
cpu aiserver-llm-server-cpu 3007 LLM-сервер на CPU
whisper aiserver-whisper 3005 Распознавание речи
reranker aiserver-bge-reranker 8001 Переранжирование поиска
full whisper + reranker 3005, 8001 Все дополнительные сервисы
💡 Комментарии к запуску контейнеров

docker compose up -d - запускает базовые сервисы в фоновом режиме

  • -d - detached mode (фоновый режим)

Проверка запуска:

  • docker compose ps - показывает статус всех контейнеров
  • docker compose logs -f aiserver - показывает логи запуска в реальном времени

После успешного обновления система Sherpa AIServer готова к работе.