# Actualizaciones del Servidor Sherpa AI

### 1. Descarga de archivos

Descargue todos los archivos más recientes a través de los enlaces antes de la instalación.

### 2. Transferencia de archivos al servidor

Después de la descarga, transfiera todos los archivos al servidor Linux de destino de la manera que le resulte más conveniente:

#### A través de SCP/SFTP

```bash
# Copie los archivos al servidor
scp *.tar.gz *.tgz user@target-server:/path/to/installation/directory/
```

<details>

<summary>💡 Comentarios sobre la transferencia a través de SCP/SFTP</summary>

\*\*scp *.tar.gz .tgz user\@target-server:/path/to/installation/directory/* - copia los archivos al servidor remoto

* `scp` - secure copy (copia segura)
* `*.tar.gz *.tgz` - patrones para seleccionar archivos
* `user@target-server` - credenciales para la conexión
* `/path/to/installation/directory/` - ruta de destino en el servidor

</details>

#### A través de cliente SFTP

Utilice cualquier cliente SFTP (FileZilla, WinSCP, Cyberduck) para copiar archivos al servidor.

#### A través de carpeta de red

Si el servidor es accesible por SMB/CIFS, utilice el explorador de Windows o el comando `copy`.

#### Verificación de la transferencia

```bash
# Conéctese al servidor
ssh user@target-server

# Vaya al directorio con los archivos
cd /path/to/installation/directory

# Verifique la existencia de todos los archivos
ls -la *.tar.gz *.tgz

# Verifique los tamaños de los archivos
ls -lh *.tar.gz *.tgz
```

<details>

<summary>💡 Comentarios sobre la verificación de la transferencia</summary>

**ssh user\@target-server** - se conecta al servidor remoto a través de SSH

* `ssh` - secure shell
* `user@target-server` - credenciales para la conexión

**cd /path/to/installation/directory** - accede al directorio con los archivos

\*\*ls -la *.tar.gz .tgz* - muestra información detallada sobre los archivos descargados

* `-l` - formato largo
* `-a` - muestra archivos ocultos

\*\*ls -lh *.tar.gz .tgz* - muestra los tamaños de los archivos en un formato legible

* `-h` - human readable (Kb, Mb, Gb)

</details>

### 3. Detención de contenedores

```bash
# Detenga todos los servicios en ejecución
docker compose down
```

<details>

<summary>💡 Comentarios sobre la detención de contenedores</summary>

**docker compose down** - detiene todos los servicios de Docker Compose

* Detiene y elimina contenedores, redes
* Conserva volumes e images

**Verificación de la detención:** **docker ps -a | grep aiserver** - verifica el estado de los contenedores

* `docker ps -a` - muestra todos los contenedores (incluidos los detenidos)
* `| grep aiserver` - filtra por el nombre aiserver

</details>

### 4. Carga de imágenes de Docker

```bash
# Cree una copia de seguridad del archivo .env
cp .env .env.backup
# Cree una copia de seguridad de la configuración
cp ./oais/backend/config ./oais/backend/config_backup

# Si se utilizan certificados personalizados, cópielos a un lugar seguro
cp -r ./oais/backend/config/certs ./certs_backup

# Descomprima los archivos del cliente
tar -xvzf "$(ls client_files_*.tgz | sort -V | tail -n 1)"

# Haga que los scripts sean ejecutables
chmod +x sh_scripts/*.sh

# Si se creó una copia de seguridad de los certificados, restáurelos
cp -r ./certs_backup/* ./oais/backend/config/certs/

# Cargue todas las imágenes de Docker
sudo ./sh_scripts/load_all_docker_images.sh
```

<details>

<summary>💡 Comentarios sobre la carga de imágenes de Docker</summary>

**Creación de copias de seguridad:**

* `cp .env .env.backup` - copia de seguridad del archivo de configuración
* `cp ./oais/backend/config ./oais/backend/config_backup` - copia de seguridad del directorio de configuración
* `cp -r ./oais/backend/config/certs ./certs_backup` - copia de seguridad de los certificados SSL

**Descompresión y preparación:**

* `tar -xvzf "$(ls client_files_*.tgz | sort -V | tail -n 1)"` - descomprime los archivos del cliente más recientes
* `chmod +x sh_scripts/*.sh` - hace que los scripts sean ejecutables
* `cp -r ./certs_backup/* ./oais/backend/config/certs/` - restaura los certificados

**sudo ./sh\_scripts/load\_all\_docker\_images.sh** - carga todas las imágenes de Docker

**Verificación de la carga:** **docker images | grep aiserver** - muestra las imágenes aiserver cargadas

</details>

### 5. Verificación de variables de entorno

```bash
# Abra el archivo .env para verificar
nano ./.env

# Verifique la existencia de variables obligatorias
grep -E "(POSTGRES_PASSWORD|X_API_TOKEN|HOST_IP)" .env

# Verifique la corrección de la sintaxis
cat .env | grep -v '^#' | grep '=' | wc -l
```

<details>

<summary>💡 Comentarios sobre la verificación de variables de entorno</summary>

**nano ./.env** - abre el archivo de configuración en el editor

**grep -E "(POSTGRES\_PASSWORD|X\_API\_TOKEN|HOST\_IP)" .env** - verifica la existencia de variables clave

* `-E` - expresiones regulares extendidas
* Enumera las variables obligatorias a través de |

**cat .env | grep -v '^#' | grep '=' | wc -l** - cuenta el número de variables

* `cat .env` - muestra el contenido del archivo
* `grep -v '^#'` - excluye comentarios
* `grep '='` - deja solo las líneas con variables
* `wc -l` - cuenta el número de líneas

</details>

### 6. Ejecución de contenedores

```bash
# Inicie los servicios básicos
docker compose up -d

# O inicie con servicios adicionales
# docker compose --profile whisper up -d
# docker compose --profile reranker up -d
# docker compose --profile full up -d
```

<details>

<summary>💡 Comentarios sobre la ejecución de contenedores</summary>

**docker compose up -d** - inicia los servicios básicos en segundo plano

* `-d` - modo separado (background)

**Perfiles para servicios adicionales:**

* `--profile whisper` - habilita el servicio de reconocimiento de voz
* `--profile reranker` - habilita el servicio de reordenamiento
* `--profile full` - habilita todos los servicios adicionales

**Verificación de la ejecución:**

* `docker compose ps` - muestra el estado de todos los contenedores
* `docker compose logs -f aiserver` - muestra los registros de inicio en tiempo real

</details>

Después de una actualización exitosa, el sistema Sherpa AI Server está listo para funcionar.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sherparpa.ru/es/sherpa-ai/sherpa-ai-server/obnovleniya-sherpa-ai-server.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
