> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Guía de Instalación On-Premise

> Requirements for installing the EKB platform in your environment.

Este documento describe los prerrequisitos previos al despliegue, los pasos de verificación y las consideraciones necesarias para la instalación y despliegue exitoso del producto EKB On-Premise. Está destinado a servir como una lista de verificación completa para garantizar que el entorno del cliente esté configurado correctamente y cumpla con todos los requisitos necesarios antes de proceder con el despliegue.

## Prerrequisitos

### Requisitos de Acceso

* **Acceso al Servidor:**
  * Confirme el acceso a los servidores de despliegue con privilegios sudo.
  * Verifique que todas las rutas de red necesarias estén establecidas a través de una VPN segura o una configuración de red dedicada.
* **Permisos de Usuario:**
  * Asegúrese de que el equipo de despliegue haya recibido los permisos de acceso necesarios.
  * Valide que cualquier autenticación de dos factores (2FA) o token de seguridad requerido esté configurado.

### Requisitos del Sistema

**Sistema Operativo:** Ubuntu 22 o RHEL 8.10

**Especificaciones de Hardware:**

Para cada nivel de despliegue, asegúrese de que el hardware cumpla o supere los siguientes requisitos:

| Nivel       | Nucleos       | RAM (GB)      | SSD           |
| :---------- | :------------ | :------------ | :------------ |
| **PEQUEÑO** | 16            | 64            | 1TB           |
| **MEDIANO** | 32            | 128           | 2TB           |
| **GRANDE**  | Personalizado | Personalizado | Personalizado |

* **GPU** (Requerida cuando se despliega un LLM en la misma máquina que la plataforma EKB.)
* **PEQUEÑO:** \~500 (100 Concurrentes) usuarios pueden ser soportados por una sola VM de 16 núcleos, 64gb ram, 1 TB SSD. Estas máquinas cuestan \~\$600 al mes. Este es un despliegue de tamaño mínimo.
* **MEDIANO:** \~2000 (500 Concurrentes) usuarios pueden ser soportados por una máquina más grande de 32 núcleos, 128gb ram, 2 TB SSD. Estas máquinas cuestan aproximadamente \~\$1,200 al mes.
* **GRANDE:** \~10000 (1000+ Concurrentes) usuarios deben ser desplegados a través de contenedores para que la infraestructura pueda escalar según las necesidades, esto típicamente cuesta un mínimo de $2,000 al mes. Se sugiere calcular $2,000 al mes por cada 1,000 Usuarios Activos adicionales. Este es un despliegue completamente distribuido.

### Herramientas de Despliegue y Dependencias de Software

* **Scripts de Despliegue:**
  * Scripts de despliegue Bash verificados y controlados por versiones.
* **Herramientas de Gestión de Dependencias:**
  * Python 3
  * Git (versión actual)
  * Docker (v27.1.1) o Podman
* **Herramientas Adicionales (Opcional):**
  * Herramientas de registro y monitoreo (por ejemplo, ELK Stack, Prometheus, Grafana) según los requisitos de monitoreo del cliente.

### Credenciales y Claves

* **Credenciales del Servidor:**
  * Asegúrese de que todas las credenciales de acceso al servidor estén actualizadas y almacenadas de forma segura.
* **Claves API y Licencias de la Aplicación:**
  * Verifique que todas las claves API y licencias específicas de la aplicación (por ejemplo, OpenAI, SERP, Sentry) estén disponibles y sean válidas.

## Lista de Verificación Previa al Despliegue

### **Verificación de Hardware y Sistema**

Asegúrese de que la configuración de hardware y sistema del cliente coincida con las especificaciones:

```
# Verificar información de CPU

lscpu                         # Funciona tanto en Ubuntu como en RHEL

cat /proc/cpuinfo             # Información de CPU más detallada


# Verificar uso de memoria

free -h                       # Formato legible para uso de memoria

cat /proc/meminfo             # Información de memoria detallada


# Verificar uso de almacenamiento

df -h                         # Muestra el uso de disco

lsblk                         # Lista dispositivos de bloques y particiones
```

#### **3.2 Verificación de Software y Dependencias**

Verifique que todos los componentes de software necesarios estén instalados y con las versiones correctas:

````
# Verificar versión de Docker

docker --version              # Aplicable tanto para Ubuntu como para RHEL


# Verificar versión de Docker Compose

docker compose version        # Para configuraciones modernas de Docker
docker-compose --version      # Para instalaciones anteriores

```

# Verificar versión de Python

python3 --version             # Verificación preferida para Python 3

python --version              # Alternativa si python3 no está disponible


# Verificar versión de Git

git --version                 # Válido tanto para Ubuntu como para RHEL


````

#### **3.3 Verificación de Red y Conectividad**

Asegúrese de que la red esté configurada correctamente y de que haya conectividad de Internet adecuada para dependencias externas o actualizaciones:

```
# Verificar disponibilidad de conexión a Internet

ping -c 4 google.com          # Ping a Google para verificar la conectividad de red
curl -Is https://www.google.com | head -n 1  # Verificación alternativa usando curl
```

#### **3.4 Verificaciones Adicionales**

**Servicios y puertos**

| Servicio                  | Ruta       | Parámetro         | Puertos internos | Puertos externos                           |
| :------------------------ | :--------- | :---------------- | :--------------- | :----------------------------------------- |
| Frontend                  | /          | FRONTEND\_SUFFIX  | 3000             | —                                          |
| Nginx                     | /          | —                 | —                | 80, 443                                    |
| Backend                   | /backend   | BACKEND\_SUFFIX   | 8001             | —                                          |
| Automator                 | /automator | AUTOMATOR\_SUFFIX | 8002             | —                                          |
| Redis                     | —          | —                 | 6379             | —                                          |
| RabbitMQ                  | —          | —                 | 5672, 15672      | —                                          |
| Supabase Kong API Gateway | /supabase  | SUPABASE\_SUFFIX  | 8000, 8443       | 8000, 8443 (solo admin)                    |
| Supabase Postgres         | —          | —                 | 6543             | —                                          |
| PostgreSQL (automator)    | —          | —                 | 5433             | —                                          |
| Redis (automator)         | —          | —                 | 6380             | —                                          |
| Ollama                    | —          | —                 | 11434            | — (solo si se despliega Ollama localmente) |

**Soporte de protocolos**

| Servicio                  | HTTP | HTTPS | WebSocket |
| :------------------------ | :--- | :---- | :-------- |
| Frontend                  | ✓    | ✓     | —         |
| Nginx                     | ✓    | ✓     | —         |
| Backend                   | ✓    | ✓     | —         |
| Automator                 | ✓    | ✓     | —         |
| Redis                     | ✓    | ✓     | —         |
| RabbitMQ                  | ✓    | ✓     | —         |
| Supabase Kong API Gateway | ✓    | ✓     | ✓         |
| Supabase Postgres         | ✓    | ✓     | —         |
| PostgreSQL (automator)    | ✓    | ✓     | —         |
| Redis (automator)         | ✓    | ✓     | —         |
| Ollama                    | ✓    | ✓     | —         |

> **Notas:** Todas las máquinas internas deben poder comunicarse libremente entre sí. Recomendamos usar conexiones SSL (HTTPS); HTTP es compatible durante las PoC.

**Configuraciones de Firewall y Seguridad:**

Valide que las reglas del firewall o los grupos de seguridad permitan el tráfico requerido.

## Arquitectura General

<img src="https://mintcdn.com/automationanywhere/OxdvKBG8xmNRyX4V/img/platform-admin/general-arc.png?fit=max&auto=format&n=OxdvKBG8xmNRyX4V&q=85&s=5907386003eea841271ca80eb72ae4ef" alt="general-arc.png" width="596" height="724" data-path="img/platform-admin/general-arc.png" />

### Diagrama de Arquitectura – On-Premise

Flujo de arquitectura de despliegue para una máquina virtual individual con la asignación de recursos prerequisito mencionada

<img src="https://mintcdn.com/automationanywhere/OxdvKBG8xmNRyX4V/img/platform-admin/arc-diagram.png?fit=max&auto=format&n=OxdvKBG8xmNRyX4V&q=85&s=442fbcdaaba1f1f8538bdd21b3058a4a" alt="general-arc.png" width="1600" height="1229" data-path="img/platform-admin/arc-diagram.png" />

### Flujo de arquitectura de despliegue para despliegue en AWS Cloud

<img src="https://mintcdn.com/automationanywhere/OxdvKBG8xmNRyX4V/img/platform-admin/deployment-arc-1.png?fit=max&auto=format&n=OxdvKBG8xmNRyX4V&q=85&s=a43123dda4222c2c9dd4d58ab9fff1df" alt="general-arc.png" width="1600" height="1003" data-path="img/platform-admin/deployment-arc-1.png" />

<img src="https://mintcdn.com/automationanywhere/OxdvKBG8xmNRyX4V/img/platform-admin/deployment-arc-2.png?fit=max&auto=format&n=OxdvKBG8xmNRyX4V&q=85&s=89f281364970a9f7c616627cdd4cc51a" alt="general-arc.png" width="1600" height="1071" data-path="img/platform-admin/deployment-arc-2.png" />
