# Requisitos del servidor Sherpa Orchestrator

### Requisitos del sistema

* **OS**: se recomienda Ubuntu 20.04+, sin embargo, generalmente no hay problemas con otras distribuciones de Linux.
* **CPU**: x86-64-v2, mínimo 2 núcleos
* **RAM**: mínimo 4 GB, se recomiendan 8 GB+
* **Disco**: 20 GB+ de espacio libre
* **Red**: Conexión a Internet estable
* **Acceso**: derechos de sudo para la instalación

**Importante:**

* La instalación toma tiempo debido a la descarga de imágenes de Docker
* Después de la instalación, no se requiere Internet para el funcionamiento

### Preparación del servidor

#### Verificación de recursos

A continuación se utiliza la sintaxis de Ubuntu, si el comando no es adecuado, deberá cambiar la sintaxis según su sistema operativo

```bash
# Verifique los recursos del sistema
df -h          # Espacio en disco
free -h        # Memoria RAM
lscpu | grep -E "^CPU\(s\)|Model name"  # Información del procesador
```

<details>

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

**df -h** - muestra el uso del espacio en disco en un formato legible para humanos **free -h** - muestra información sobre la memoria RAM **lscpu** - muestra información sobre el procesador

**Valores mínimos recomendados:**

* Disco: mínimo 20 GB de espacio libre
* RAM: mínimo 4 GB
* CPU: mínimo 2 núcleos

</details>

#### Instalación de herramientas básicas

```bash
# Actualice el sistema e instale herramientas
sudo apt update
sudo apt install -y ca-certificates curl tar
```

<details>

<summary>💡 Comentarios sobre la instalación de herramientas básicas</summary>

**sudo apt update** - actualiza la lista de paquetes disponibles desde los repositorios **sudo apt install -y ca-certificates curl tar** - instala las herramientas necesarias:

* `ca-certificates` - certificados raíz para la verificación SSL
* `curl` - herramienta para descargar archivos
* `tar` - utilidad para trabajar con archivos comprimidos
* `-y` - confirmación automática de la instalación

</details>

### Instalación de Docker (obligatorio)

Sherpa Orchestrator funciona exclusivamente en contenedores Docker.

#### Instalación de Docker CE

```bash
# Agregue la clave GPG oficial de Docker
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Agregue el repositorio de Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Instale Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```

<details>

<summary>💡 Comentarios sobre la instalación de Docker</summary>

**Agregar la clave GPG:**

* `sudo install -m 0755 -d /etc/apt/keyrings` - crea un directorio para las claves con los permisos correctos
* `sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc` - descarga la clave GPG de Docker
* `sudo chmod a+r /etc/apt/keyrings/docker.asc` - establece permisos de lectura para todos

**Agregar el repositorio:**

* `echo "deb [...]` - agrega el repositorio oficial de Docker a la lista de fuentes APT
* Utiliza variables de entorno para determinar la arquitectura y la versión de Ubuntu

**Instalación de paquetes:**

* `sudo apt update` - actualiza la lista de paquetes después de agregar un nuevo repositorio
* `sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin` - instala Docker y sus componentes

</details>

#### Configuración y verificación

```bash
# Agregue el usuario al grupo docker (opcional)
sudo usermod -aG docker $USER

# Inicie y habilite Docker
sudo systemctl start docker
sudo systemctl enable docker

# Verifique la instalación
docker --version
docker compose version
```

<details>

<summary>💡 Comentarios sobre la configuración de Docker</summary>

**sudo usermod -aG docker $USER** - agrega al usuario actual al grupo docker

* `-a` - append (agrega a los grupos existentes)
* `-G docker` - agrega al grupo docker
* `$USER` - variable con el nombre del usuario actual

**sudo systemctl start docker** - inicia el daemon de Docker **sudo systemctl enable docker** - habilita el inicio automático de Docker al arrancar el sistema

**docker --version** - muestra la versión de Docker **docker compose version** - muestra la versión de Docker Compose

**Resultado esperado:** Docker inicia correctamente un contenedor de prueba.

</details>

### Verificación de puertos

Sherpa Orchestrator utiliza los siguientes puertos:

* **443** - interfaz web HTTPS (obligatorio)
* **5000** - API VNC proxy
* **6080-6100** - rango de puertos para conexiones VNC

#### Verificación de la disponibilidad de puertos

```bash
# Verifique si los puertos necesarios están ocupados
sudo netstat -tlnp | grep -E ":443 |:5000 |:608[0-9] |:609[0-9] |:6100 " || echo "Puertos libres"
```

<details>

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

**sudo netstat -tlnp** - muestra todos los puertos TCP en escucha y los procesos

* `-t` - puertos TCP
* `-l` - solo puertos en escucha
* `-n` - formato numérico (sin resolución de nombres)
* `-p` - muestra el PID y el nombre del proceso

**Resultado esperado:**

* Si los puertos están libres, el comando mostrará "Puertos libres"
* Si los puertos están ocupados, se mostrarán los procesos que los utilizan

</details>

### Verificación de configuración

#### Verificación final antes del lanzamiento

```bash
# Verifique Docker
docker --version && docker compose version

# Verifique las variables de entorno
cat .env

# Verifique la disponibilidad de puertos
sudo netstat -tlnp | grep -E ":443 |:5000 |:608[0-9] |:609[0-9] |:6100 " || echo "Todos los puertos libres"

# Verifique el espacio en disco
df -h /var/lib/docker || echo "El controlador de almacenamiento de Docker no está configurado"

echo "Si todas las verificaciones se han realizado con éxito, se puede iniciar Sherpa Orchestrator"
```

**Resultado esperado:** Todos los comandos deben ejecutarse sin errores, los puertos deben estar libres.


---

# 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-rpa/sherpa-orchestrator/ustanovka-sherpa-orchestrator/s-ispolzovaniem-docker/trebovaniya-k-serveru-sherpa-orchestrator.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.
