Обновления 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 shelluser@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- бэкап директории configcp -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 готова к работе.