# Installation du logiciel

## Exigences du serveur

Le serveur (ou rig – ces termes sont presque interchangeables dans ce contexte) doit être équipé de GPU NVIDIA, car AMD n'est actuellement pas pris en charge. L'espace disque minimum requis est de 32 Go ; pour la fiabilité, il est recommandé d'utiliser un SSD plutôt qu'une clé USB. Un minimum de 8 Go de RAM est requis, mais 16 Go offriront une plus grande stabilité. Quant au processeur, le système peut fonctionner avec un Celeron sur un socket 1151, mais pour des performances plus efficaces, envisagez d'utiliser un processeur comme l'i7-6700.

Avant de continuer, il est fortement recommandé de désactiver tout overclocking, y compris la Power Limit (PL), et de réinitialiser les GPU aux paramètres d'usine. Ensuite, effectuez un test de stabilité du système en stressant par exemple les GPU avec l'algorithme kawpow et en sollicitant le CPU. Surveillez les températures et assurez-vous que tout fonctionne de manière stable.

Si le système fonctionne de manière stable et que les températures sont dans une plage sûre, passez à l'étape suivante des instructions. Si les températures sont trop élevées ou si des erreurs surviennent, corrigez d'abord ces problèmes – par exemple en améliorant le refroidissement ou en dépannant – et assurez un fonctionnement stable avant de poursuivre.

## Pilotes recommandés et CUDA (HiveOS)

HiveOS inclut sa propre gestion des pilotes via la `nvidia-driver-update` commande. Pour une meilleure compatibilité avec les charges de travail Clore.ai (notamment ML/IA), utilisez les versions recommandées suivantes :

### Pilotes NVIDIA

| Branche         | Version    | Prise en charge CUDA | Recommandé pour                                                      |
| --------------- | ---------- | -------------------- | -------------------------------------------------------------------- |
| **R580 (LTSB)** | 580.126.18 | Jusqu'à CUDA 12.8    | La plupart des GPU — stable, support à long terme jusqu'en août 2028 |
| **R590**        | 590.48.01  | Jusqu'à CUDA 13.1    | Série RTX 50 (5090/5080), dernières fonctionnalités                  |

Pour installer une version spécifique dans HiveOS :

```bash
nvidia-driver-update 580.126.18 --force
```

Pour les GPU de la série RTX 50 :

```bash
nvidia-driver-update 590.48.01 --force
```

> **Important :** N'utilisez pas `nvidia-driver-update --force` sans spécifier de version — cela peut installer un pilote par défaut plus ancien qui ne prend pas en charge les charges de travail CUDA modernes.

### Compatibilité du Toolkit CUDA

La plupart des locataires utilisent des images Docker qui incluent leur propre runtime CUDA, donc les hôtes n'ont généralement pas besoin d'installer manuellement le Toolkit CUDA. Cependant, **le pilote NVIDIA de l'hôte doit prendre en charge la version CUDA requise par la charge de travail du locataire.**

| Version CUDA | Pilote minimum | Statut                                           |
| ------------ | -------------- | ------------------------------------------------ |
| CUDA 12.4    | R550+          | Largement utilisé dans l'écosystème ML           |
| CUDA 12.8    | R570+          | Dernière branche stable 12.x                     |
| CUDA 13.1    | R590+          | Dernière version, optimisée pour la série RTX 50 |

**Recommandation :** Installez R580 LTSB (580.126.18) pour une large compatibilité avec les charges de travail CUDA 12.x. Si vous hébergez des GPU de la série RTX 50, utilisez R590 (590.48.01) pour une prise en charge complète de CUDA 13.x.

## Enregistrement et ajout du serveur

### 1. Accédez au [site web](http://clore.ai/), inscrivez-vous, connectez-vous et accédez au marché :

<figure><img src="https://img1.teletype.in/files/0e/86/0e86de72-544d-48d8-8d82-cf120e516a81.png" alt=""><figcaption></figcaption></figure>

### 2. **Ajout d'un serveur :** Il existe deux manières d'ajouter un serveur :

**Méthode 1 :** Allez dans la section « Mes serveurs » et cliquez sur le bouton « + Ajouter un serveur ». Saisissez le nom du serveur et cliquez sur « Suivant ».

<figure><img src="https://img4.teletype.in/files/f7/8e/f78e0a46-06fa-4a5d-b429-f21b78eafb6c.png" alt=""><figcaption></figcaption></figure>

Après l'ajout, le serveur sera marqué d'un cercle rouge, ce qui signifie qu'il est inactif. Nous l'activerons plus tard, mais pour l'instant, cliquez sur le serveur créé pour obtenir une clé – vous en aurez besoin plus tard.

<figure><img src="https://img4.teletype.in/files/36/ae/36aeeab8-98e0-4fea-81e9-d731d5211df2.png" alt=""><figcaption></figcaption></figure>

### 3. Configuration HiveOS :

Choisissez le rig et ouvrez le Shell. Pour ceux qui utilisent rarement HiveOS, des images ont été ajoutées ci-dessous pour plus de clarté.

<figure><img src="https://img1.teletype.in/files/45/06/4506318a-02cf-4de5-b5c8-bcf44df412ea.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://img3.teletype.in/files/e7/8e/e78e68e8-04da-4f84-89ab-546426d5f761.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://telegra.ph/file/49b76dd27191faca74a44.png" alt=""><figcaption></figcaption></figure>

### 4. **Mise à jour HiveOS :** Exécutez la commande :

```bash
hive-replace -y --stable
```

#### **Si des problèmes d'espace disque HiveOS surviennent :** S'il y a moins d'espace libre sur le disque que prévu après l'installation ou la mise à jour (par exemple, seulement 20 Go libres sur un disque de 512 Go), exécutez ce qui suit :

* **Pour M.2 :**

  ```bash
  growpart /dev/nvme0n1 4
  resize2fs /dev/nvme0n1p4
  ```
* **Pour SATA :**

  ```bash
  growpart /dev/sda 4
  resize2fs /dev/sda4
  ```

### 5. **Exécutez les mises à jour dans l'ordre :**

```bash
selfupgrade --force
apt update
apt upgrade
apt autoremove
```

### 6. **Mettre à jour les pilotes nécessaires :**

```bash
nvidia-driver-update --force
```

> **Conseil :** Pour installer une version de pilote recommandée spécifique, utilisez :
>
> ```bash
> nvidia-driver-update 580.126.18 --force
> ```
>
> Pour les GPU de la série RTX 50, utilisez la version `590.48.01` ou ultérieure.

### 7. **Redémarrez le rig :**

```bash
reboot
```

### 8. **Passez en mode superutilisateur :**

```bash
sudo -i
```

### 9. **Installez le logiciel :**

```bash
bash <(curl -s https://gitlab.com/cloreai-public/hosting/-/raw/main/install.sh)
```

Si le système signale que `git` est manquant, installez-le avec :

```bash
apt install -y git
```

Puis réessayez l'installation.

Si vous rencontrez une erreur `gpg` , utilisez :

<figure><img src="https://telegra.ph/file/e2ef8c5760193ad523e20.png" alt=""><figcaption></figcaption></figure>

```bash
apt install gpg -y --allow-downgrades
```

<figure><img src="https://img3.teletype.in/files/66/1c/661c9073-cc8e-4734-aa85-cff08902d4d6.png" alt=""><figcaption></figcaption></figure>

Ensuite, relancez l'installation.

```
bash <(curl -s https://gitlab.com/cloreai-public/hosting/-/raw/main/install.sh)
```

### 10. **Activez le serveur :**

```bash
/opt/clore-hosting/clore.sh --init-token <token>
```

Remplacez `<token>` par la clé obtenue précédemment.

Si une erreur indique qu'un dossier ou un fichier est manquant, l'installation ne s'est probablement pas terminée correctement et le `clore-hosting` dossier n'a pas été créé. Dans ce cas, répétez l'installation.

### 11. **Redémarrage final :**

Redémarrez le rig, attendez un instant et actualisez la page du marketplace. Si tout a été correctement configuré, le serveur sera marqué d'un cercle vert.

```
reboot
```

<figure><img src="https://img2.teletype.in/files/98/9c/989c1cbd-2670-4568-b784-020af71451be.png" alt=""><figcaption></figcaption></figure>

## Comment désactiver tous les services installés

Si vous devez désactiver tout ce qui a été installé précédemment :

1. Désactivez les services :

   ```bash
   systemctl disable clore-hosting.service
   systemctl disable docker.service
   systemctl disable docker.socket
   ```
2. Redémarrez le système :

   ```bash
   reboot
   ```

## Comment réactiver les services

Pour réactiver les services :

1. Activez les services :

   ```bash
   systemctl enable clore-hosting.service
   systemctl enable docker.service
   systemctl enable docker.socket
   ```
2. Redémarrez le système :

   ```bash
   reboot
   ```

## Suppression du jeton précédemment installé

Pour supprimer le jeton, utilisez la commande :

```bash
/opt/clore-hosting/clore.sh --reset
```

Le fichier contenant le jeton se trouve à :

```
/opt/clore-hosting/client/auth
```
