# Instalación de software

## Requisitos del servidor

El servidor (o equipo — estos términos son casi intercambiables en este contexto) debe estar equipado con GPU NVIDIA, ya que AMD actualmente no es compatible. El espacio en disco mínimo requerido es de 32 GB; para mayor fiabilidad, se recomienda usar un SSD en lugar de una unidad flash. Se requiere un mínimo de 8 GB de RAM, pero 16 GB proporcionarán mayor estabilidad. En cuanto a la CPU, el sistema puede funcionar con un Celeron en un socket 1151, pero para un rendimiento más eficiente, considere usar una CPU como la i7-6700.

Antes de continuar, es muy recomendable desactivar cualquier overclock, incluido el Límite de Potencia (PL), y restablecer las GPU a la configuración de fábrica. Después, pruebe el sistema bajo estrés para comprobar la estabilidad, por ejemplo, probando las GPU con el algoritmo kawpow y cargando la CPU. Controle las temperaturas y asegúrese de que todo funcione de forma estable.

Si el sistema funciona de manera estable y las temperaturas están dentro de un rango seguro, continúe con el siguiente paso de las instrucciones. Si las temperaturas son demasiado altas o se producen errores, solucione esos problemas primero —por ejemplo, mejorando la refrigeración o realizando la resolución de problemas— y asegure la operación estable antes de continuar.

## Controladores y CUDA recomendados (HiveOS)

HiveOS incluye su propia gestión de controladores a través del `nvidia-driver-update` comando. Para la mejor compatibilidad con las cargas de trabajo de Clore.ai (especialmente ML/AI), use las siguientes versiones recomendadas:

### Controladores NVIDIA

| Rama            | Versión    | Compatibilidad con CUDA | Recomendado para                                                             |
| --------------- | ---------- | ----------------------- | ---------------------------------------------------------------------------- |
| **R580 (LTSB)** | 580.126.18 | Hasta CUDA 12.8         | La mayoría de las GPUs — estable, soporte a largo plazo hasta agosto de 2028 |
| **R590**        | 590.48.01  | Hasta CUDA 13.1         | Serie RTX 50 (5090/5080), últimas características                            |

Para instalar una versión específica en HiveOS:

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

Para GPUs de la serie RTX 50:

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

> **Importante:** No use `nvidia-driver-update --force` sin especificar una versión — puede instalar un controlador predeterminado más antiguo que no sea compatible con cargas de trabajo modernas de CUDA.

### Compatibilidad del Toolkit de CUDA

La mayoría de los arrendatarios usan imágenes Docker que incluyen su propio runtime de CUDA, por lo que los hosts normalmente no necesitan instalar el Toolkit de CUDA manualmente. Sin embargo, **el controlador NVIDIA del host debe ser compatible con la versión de CUDA requerida por la carga de trabajo del arrendatario.**

| Versión de CUDA | Controlador mínimo | Estado                                           |
| --------------- | ------------------ | ------------------------------------------------ |
| CUDA 12.4       | R550+              | Ampliamente usada en el ecosistema ML            |
| CUDA 12.8       | R570+              | Última rama estable 12.x                         |
| CUDA 13.1       | R590+              | La más reciente, optimizada para la serie RTX 50 |

**Recomendación:** Instale R580 LTSB (580.126.18) para una amplia compatibilidad con cargas de trabajo CUDA 12.x. Si aloja GPUs de la serie RTX 50, use R590 (590.48.01) para soporte completo de CUDA 13.x.

## Registro y adición del servidor

### 1. Vaya al [sitio web](http://clore.ai/), regístrese, inicie sesión y navegue al mercado:

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

### 2. **Agregar un servidor:** Hay dos formas de agregar un servidor:

**Método 1:** Vaya a la sección "Mis servidores" y haga clic en el botón "+Agregar servidor". Introduzca el nombre del servidor y haga clic en "Siguiente."

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

Después de agregarlo, el servidor se marcará con un círculo rojo, lo que significa que está inactivo. Lo activaremos más tarde, pero por ahora, haga clic en el servidor creado para obtener una clave — la necesitará más adelante.

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

### 3. Configuración de HiveOS:

Elija el equipo y abra Shell. Para quienes usan HiveOS raramente, se han añadido imágenes abajo para mayor claridad.

<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. **Actualización de HiveOS:** Ejecute el comando:

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

#### **Si surgen problemas de espacio en disco en HiveOS:** Si hay menos espacio libre en disco del esperado después de la instalación o actualización (por ejemplo, solo 20 GB libres en un disco de 512 GB), ejecute lo siguiente:

* **Para M.2:**

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

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

### 5. **Ejecute las actualizaciones en secuencia:**

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

### 6. **Actualice los controladores necesarios:**

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

> **Consejo:** Para instalar una versión específica recomendada del controlador, use:
>
> ```bash
> nvidia-driver-update 580.126.18 --force
> ```
>
> Para GPUs de la serie RTX 50, use la versión `590.48.01` o posterior.

### 7. **Reinicie el equipo:**

```bash
reboot
```

### 8. **Cambie a modo superusuario:**

```bash
sudo -i
```

### 9. **Instale el software:**

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

Si el sistema reporta que `git` falta, instálelo con:

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

Luego reintente la instalación.

Si encuentra un `gpg` error, use:

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

Posteriormente, vuelva a ejecutar la instalación.

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

### 10. **Active el servidor:**

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

Reemplace `<token>` con la clave obtenida anteriormente.

Si un error indica que falta una carpeta o archivo, es probable que la instalación no se completara correctamente y la `clore-hosting` carpeta no se creó. En este caso, repita la instalación.

### 11. **Reinicio final:**

Reinicie el equipo, espere un momento y actualice la página del mercado. Si todo se configuró correctamente, el servidor estará marcado con un círculo verde.

```
reboot
```

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

## Cómo desactivar todos los servicios instalados

Si necesita desactivar todo lo instalado anteriormente:

1. Desactive los servicios:

   ```bash
   systemctl disable clore-hosting.service
   systemctl disable docker.service
   systemctl disable docker.socket
   ```
2. Reinicie el sistema:

   ```bash
   reboot
   ```

## Cómo volver a habilitar los servicios

Para volver a habilitar los servicios:

1. Habilite los servicios:

   ```bash
   systemctl enable clore-hosting.service
   systemctl enable docker.service
   systemctl enable docker.socket
   ```
2. Reinicie el sistema:

   ```bash
   reboot
   ```

## Eliminación del token instalado previamente

Para eliminar el token, use el comando:

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

El archivo que contiene el token se encuentra en:

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