Sherpa AI Server Updates#
Updating Sherpa AIServer#
Recommended method: automatic update via script#
Recommended for most users. The script performs all update steps automatically: backup configuration, load images, update files, and restart services.
Make sure you are in the root of the SherpaAIServer installation and run:
sudo ./sh_scripts/update.sh
Manual update. If you prefer to update the system manually or need full control over every step β follow the instructions below.
1. Download files#
Download all the latest files from the links as you would before installation.
2. Transfer files to the server#
After downloading, transfer all files to the target Linux server by any convenient method:
Using SCP/SFTP#
# Copy files to the server
scp *.tar.gz *.tgz user@target-server:/path/to/installation/directory/
π‘ Notes about transferring via SCP/SFTP
scp *.tar.gz *.tgz user@target-server:/path/to/installation/directory/ β copies files to the remote server
scp- secure copy*.tar.gz *.tgz- file patternsuser@target-server- login for the remote server/path/to/installation/directory/- destination path on the server
Using an SFTP client#
Use any SFTP client (FileZilla, WinSCP, Cyberduck) to copy files to the server.
Using a network share#
If the server is reachable via SMB/CIFS, use the file explorer or the copy command.
Verify transfer#
# Connect to the server
ssh user@target-server
# Go to the directory with the files
cd /path/to/installation/directory
# Check that all files are present
ls -la *.tar.gz *.tgz
# Check file sizes
ls -lh *.tar.gz *.tgz
π‘ Notes about verification
ssh user@target-server- connects to the remote servercd /path/to/installation/directory- change to the files directoryls -la *.tar.gz *.tgz- show detailed info about downloaded filesls -lh *.tar.gz *.tgz- show sizes in human-readable format
3. Stop containers#
# Stop all running services
docker compose down
π‘ Notes about stopping containers
docker compose down stops all Docker Compose services and removes containers and networks but preserves volumes and images.
Check stopped containers: docker ps -a | grep aiserver
4. Load Docker images#
# Create a backup of the .env file
cp .env .env.backup
# Create a backup of config
cp ./backend/config ./backend/config_backup
cp -r ./nginx/config/certs ./certs_backup
# Unpack the client files
tar -xvzf "$(ls docker_aiserver_client_files_*.tgz | sort -V | tail -n 1)"
# Make scripts executable
chmod +x sh_scripts/*.sh
# If certificates were backed up, restore them
cp -r ./certs_backup/* ./nginx/config/certs/
# Load all Docker images
sudo ./sh_scripts/load_all_docker_images.sh
π‘ Notes about loading images
Backups:
cp .env .env.backup- backup the configuration filecp ./backend/config ./backend/config_backup- backup the config directorycp -r ./nginx/config/certs ./certs_backup- backup SSL certificates
Unpack and prepare:
tar -xvzf "$(ls docker_aiserver_client_files_*.tgz | sort -V | tail -n 1)"- unpacks the latest client fileschmod +x sh_scripts/*.sh- make scripts executablecp -r ./certs_backup/* ./nginx/config/certs/- restore certificates
sudo ./sh_scripts/load_all_docker_images.sh - loads all Docker images
Check loaded images: docker images | grep aiserver
5. Check environment variables#
# Open the .env file to review
nano ./.env
# Check presence of required variables
grep -E "(POSTGRES_PASSWORD|X_API_TOKEN|HOST_IP)" .env
# Check syntax
cat .env | grep -v '^#' | grep '=' | wc -l
π‘ Notes about checking env vars
nano ./.env- opens the configuration filegrep -E "(POSTGRES_PASSWORD|X_API_TOKEN|HOST_IP)" .env- checks for required variablescat .env | grep -v '^#' | grep '=' | wc -l- counts non-comment variable lines
6. Start containers#
Start the basic services:
docker compose up -d
If profiles were used in the previous installation, specify them again. Examples:
# GPU β main LLM server
docker compose --profile gpu up -d
# GPU + speech recognition
docker compose --profile gpu --profile whisper up -d
# GPU + reranker
docker compose --profile gpu --profile reranker up -d
# GPU + all extras
docker compose --profile gpu --profile full up -d
# Two LLM servers on different GPUs
docker compose --profile gpu --profile gpu2 up -d
# CPU mode (no GPU)
docker compose --profile cpu up -d
# CPU + all extras
docker compose --profile cpu --profile full up -d
Available profiles:
| Profile | Service | Port | Description |
|---|---|---|---|
gpu |
aiserver-llm-server |
3003 | Main LLM server on GPU |
gpu2 |
aiserver-llm-server2 |
3006 | Second LLM on a second GPU |
cpu |
aiserver-llm-server-cpu |
3007 | LLM server on CPU |
whisper |
aiserver-whisper |
3005 | Speech recognition |
reranker |
aiserver-bge-reranker |
8001 | Search reranker |
full |
whisper + reranker | 3005, 8001 | All additional services |
π‘ Notes about starting containers
docker compose up -d- starts basic services in detached modedocker compose ps- shows container statusdocker compose logs -f aiserver- follow logs
After a successful update the Sherpa AIServer system will be ready to use.