> ## 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.

# Guide d'installation sur site

> Conditions requises pour installer la plateforme EKB dans votre environnement.

Ce document décrit les conditions préalables au déploiement, les étapes de vérification et les considérations nécessaires pour l'installation et le déploiement réussis du produit EKB sur site. Il est conçu comme une liste de contrôle complète pour assurer que l'environnement du client est correctement configuré et répond à tous les besoins avant de procéder au déploiement.

## Conditions préalables

### Conditions d'accès

* **Accès au serveur :**
  * Confirmez l'accès aux serveurs de déploiement avec les privilèges sudo.
  * Vérifiez que tous les itinéraires réseau nécessaires sont établis via un VPN sécurisé ou une configuration réseau dédiée.
* **Autorisations utilisateur :**
  * Assurez-vous que l'équipe de déploiement s'est vu accorder les droits d'accès nécessaires.
  * Validez que l'authentification à deux facteurs (2FA) requise ou les jetons de sécurité sont en place.

### Conditions système

**Système d'exploitation :**      \
Ubuntu 22 ou RHEL 8.10

**Spécifications matérielles :**     \
Pour chaque niveau de déploiement, assurez-vous que le matériel répond ou dépasse les éléments suivants :

| Niveau     | Cœurs        | RAM (GB)     | SSD          |
| :--------- | :----------- | :----------- | :----------- |
| **SMALL**  | 16           | 64           | 1TB          |
| **MEDIUM** | 32           | 128          | 2TB          |
| **LARGE**  | Personnalisé | Personnalisé | Personnalisé |

* **GPU** (Obligatoire lors du déploiement d'un LLM sur la même machine que la plateforme EKB.)
* **SMALL :** \~500 (100 concurrents) utilisateurs peuvent être pris en charge par une seule VM 16 cœurs, 64 Go de RAM, 1 TB
  * SSD ces machines coûtent \~600 \$ par mois. C'est un déploiement de taille minimale.
* **MEDIUM** \~ 2000 (500 concurrents) utilisateurs peuvent être pris en charge par une machine plus grande 32 cœurs, 128 Go de RAM, 2 TB
  * SSD ces machines coûtent environ \~1 200 \$ par mois
* **LARGE :** \~10000 (1000+ concurrents) utilisateurs doivent être déployés sur des conteneurs pour que l'infrastructure
  * puisse s'adapter aux besoins, cela coûte généralement un minimum de 2 000 \$ par mois, il est
  * recommandé de calculer 2 000 \$ par mois pour chaque 1 000 utilisateurs actifs supplémentaires. C'est un déploiement entièrement distribué.

### Outils de déploiement et dépendances logicielles

* **Scripts de déploiement :**
  * Scripts de déploiement Bash vérifiés et contrôlés par version.
* **Outils de gestion des dépendances :**
  * Python 3
  * Git (version actuelle)
  * Docker (v27.1.1) ou Podman
* **Outils supplémentaires (optionnels) :**
  * Outils de journalisation et de surveillance (par exemple, ELK Stack, Prometheus, Grafana) selon les besoins de surveillance du client.

### Identifiants et clés

* **Identifiants du serveur :**
  * Assurez-vous que tous les identifiants d'accès au serveur sont à jour et stockés de manière sécurisée.
* **Clés API et licences d'application :**
  * Vérifiez que toutes les clés API spécifiques à l'application et les licences (par exemple, OpenAI, SERP, Sentry) sont disponibles et valides.

## Liste de contrôle avant déploiement

### **Vérification du matériel et du système**

Assurez-vous que les configurations matérielles et système du client correspondent aux spécifications :

```
# Vérifier les informations de processeur

lscpu                         # Fonctionne sur Ubuntu et RHEL

cat /proc/cpuinfo             # Informations plus détaillées du processeur


# Vérifier l'utilisation de la mémoire

free -h                       # Format lisible par l'homme pour l'utilisation de la mémoire

cat /proc/meminfo             # Informations détaillées sur la mémoire


# Vérifier l'utilisation du stockage

df -h                         # Affiche l'utilisation du disque

lsblk                         # Répertorie les appareils de bloc et les partitions
```

#### **3.2 Vérification des logiciels et des dépendances**

Vérifiez que tous les composants logiciels nécessaires sont installés et correctement versionnés :

````
# Vérifier la version de Docker

docker --version              # Applicable pour Ubuntu et RHEL


# Vérifier la version de Docker Compose

docker compose version        # Pour les configurations Docker modernes

docker-compose --version      # Pour les anciennes installations

```

# Vérifier la version de Python

python3 --version             # Vérification préférée pour Python 3

python --version              # Alternative si python3 n'est pas disponible


# Vérifier la version de Git

git --version                 # Valide pour Ubuntu et RHEL


````

#### **3.3 Vérification de la connectivité réseau**

Assurez-vous que le réseau est correctement configuré et qu'il existe une connectivité Internet adéquate pour les dépendances externes ou les mises à jour :

```
# Vérifier la disponibilité de la connexion Internet

ping -c 4 google.com          # Ping Google pour vérifier la connectivité réseau

curl -Is https://www.google.com | head -n 1  # Vérification alternative avec curl
```

#### **3.4 Vérifications supplémentaires**

**Services et ports**

| Service                      | Chemin     | Paramètre         | Ports internes | Ports externes                                  |
| :--------------------------- | :--------- | :---------------- | :------------- | :---------------------------------------------- |
| Frontend                     | /          | FRONTEND\_SUFFIX  | 3000           | —                                               |
| Nginx                        | /          | —                 | —              | 80, 443                                         |
| Backend                      | /backend   | BACKEND\_SUFFIX   | 8001           | —                                               |
| Automator                    | /automator | AUTOMATOR\_SUFFIX | 8002           | —                                               |
| Redis                        | —          | —                 | 6379           | —                                               |
| RabbitMQ                     | —          | —                 | 5672, 15672    | —                                               |
| Passerelle API Supabase Kong | /supabase  | SUPABASE\_SUFFIX  | 8000, 8443     | 8000, 8443 (admin uniquement)                   |
| Postgres Supabase            | —          | —                 | 6543           | —                                               |
| PostgreSQL (automator)       | —          | —                 | 5433           | —                                               |
| Redis (automator)            | —          | —                 | 6380           | —                                               |
| Ollama                       | —          | —                 | 11434          | — (uniquement si Ollama est déployé localement) |

**Support des protocoles**

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

> **Remarques :** Toutes les machines internes doivent pouvoir communiquer librement entre elles. Nous recommandons d'utiliser les connexions SSL (HTTPS) ; HTTP est pris en charge pendant les PoC.

**Paramètres de pare-feu et de sécurité :**

Validez que les règles de pare-feu ou les groupes de sécurité permettent le trafic requis.

## Architecture générale

<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" />

### Diagramme d'architecture – Sur site

Flux d'architecture de déploiement pour une boîte de machine virtuelle unique avec allocation de ressources préalables mentionnée

<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" />

### Flux d'architecture de déploiement pour le déploiement cloud AWS

<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" />
